インクルード関数で読んでいるphpのブロックを、ショートコードで呼び出すには?
普通、Wordpressで記事内に、定義された機能を表示したい、というとき、「ショートコード」を使用するかと思う。
だが、phpのインクルード関数を記事内で呼び出したい、というケースが筆者に発生したので、これを実装した方法を紹介します。
ショートコードを呼び出すときの仕組みから考えてみよう
ふつう、ショートコードを呼び出すときの記述方法は、以下のように[]内に定義されたショートコード関数を記述する。
[shortcode名]
この機能を利用して、あるショートコードが呼ばれたときに、インクルード関数を実行するphpを呼び出す処理をする。
具体的には以下のようなプログラムだ。
//インクルードしたいphpファイルを記事内で表示するするショートコード
function Include_my_php($params = array()) {
extract(shortcode_atts(array(
'file' => 'default'
), $params));
ob_start();
include(get_theme_root() . '/' . get_template() . "/custom_inc/$file.php");
return ob_get_clean();
}
add_shortcode('onphp', 'Include_my_php');
そして、以下のようなショートコードを使って、インクルードしたいphpファイル名を引数に記述。
(例として sample.php というphpファイルをインクルードしたいとき)
[onphp sample.php]
これを利用して本サイトのTOPに、登録されている全カテゴリーを呼び出すphpを、ショートコードで呼び出している。
今回聞いていた曲はこれです♪
2021年3月9日に、配信限定シングルとしてリリースされた宇多田ヒカルの楽曲。同年3月10日に発売された同名のEPにも収録された。本楽曲は、2021年3月8日に公開されたアニメ映画『シン・エヴァンゲリオン劇場版:||』のテーマソングに起用された。また、イギリスのレーベル・PC Music(英語版)の設立者で、チャーリー・XCXらとの作品でも知られる音楽プロデューサー・A. G. Cook(英語版)が共同プロデュースで参加している。レコーディング・ミキシングのエンジニアは、スティーヴ・フィッツモーリスが務めた。