WordPressの固定ページとかでphpファイルを使いたいときのショートコード

概要

WordPressの固定ページでphp処理をしたくて作ったコードです。
目次リンクの自動生成のページでタグを生成するのに使っています。

今ならjavascriptでも同じ機能作れそうですが、このときはなんかphpファイル読み込みたかったんでしょう…。

コード

テーマのfunction.php内に下記を記述します。
同じ階層の「load_file_short_code_target」に同名ファイルがあったらrequire_onceで読み込む、なければ何もしないよというショートコードです。

// phpファイルをロードする
function load_file_short_code($atts) {
	extract(shortcode_atts(array(
		'file' => null,
	), $atts));
	$file_path = __DIR__.'/load_file_short_code_target/'.$file;
	if(file_exists( $file_path )){
		require_once ( $file_path );
	}else{
	    // ファイルがなければ何もしない
    }
}
add_shortcode('load', 'load_file_short_code');

使い方

1.上のコードを書いたfunction.phpのあるフォルダと同じ場所に「load_file_short_code_target」というフォルダを作ります。
2.この「load_file_short_code_target」の中に読み込みたいphpファイルをコピーします「hoge.php」
3.phpを読み込みたい、固定ページや投稿ページに下記のようにショートコードを書くと「load_file_short_code_target」フォルダの下の「hoge.php」が読み込まれます。

[load file=hoge.php]

注意としては、本文より先にショートコードが読み込まれてしまうので、記事の途中とかでは使えないぐらいですかね…。

おわり。