phpをショートコードで呼び出せるようにしてみた

ワードプレスを使っていて、よくある問題がこれだと思うんですよね。
■PHPで使っているモノを記事に呼び出したい!

phpごとにショートコードを作って呼び込むっというのが多いんですが、
これって、その都度functions.phpをいじるので、初心者には怖いんですよね。。。

真っ白になってアクセス出来なくなるだけなら、FTPからfunctions.phpを元に書き直してアップすれば良いんですけど、
それ以外にも、
■更新したら真っ白になる(でも更新は反映されてる)
とか、
■ヘッダーに固定されてるはずのツールバーがなくなった
などなど、色々なエラーが出るとデバックモードで原因のファイル探したりと・・・
今でも、よくあります。
その都度、テーマをインストールし直して、いじったファイルをアップし直したりしてます。
(大体cssとテンプレファイルと、ヘッダーとフッターが主なので、今のところは助かってます。)

そこで、下記のphpをfunctions.phpに書き込んでおくのが個人的にはオススメです。

//PHPファイルの読み込みショートコード
function Include_my_php($params = array()) {
extract(shortcode_atts(array(
'file' => 'default'
), $params));
ob_start();
include(get_theme_root() . '/' . get_template() . "/$file.php");
return ob_get_clean();
}
add_shortcode('myphp', 'Include_my_php');
//PHPファイルの読み込みショートコード

これがあると、以下のようなショートコードでphpファイルをincludeして記事の中に呼び込めます。
いや、そもそもincludeが呼び込むって意味ですね。。。

[myphp file='phpファイル名']
(ex. [myphp file='new_list'])

※[が全角の[になっているのでコピペ注意です!

これで色々なphpのパーツを作っても、その都度funtions.phpをいじる必要も無くて楽ちんではないでしょうか??