[WordPress]記事内にphpテンプレートをショートコードで呼び出す方法

記事内にphpテンプレートをショートコードで呼び出す方法について

WordPress記事内で、自分の作ったphpテンプレートファイルを呼び出したい機会があると思います。

広告の挿入だったり、特定カテゴリーの最新記事を表示させたりphpを用いて固定文を記事内の任意の場所に挿入したい場合など記事内にphpテンプレートを呼び出すことが出来たらカスタマイズの幅も広がりますよね。

しかし、WordPressは基本的にphpを記事内で使うことは出来ません。

(プラグインを使えば使用は可能ですがセキュリティ面で利用はあまりオススメしないという情報を何度も見るので、プラグインなしの方法です)

なので、今回はショートコードを使って記事内にphpテンプレートを呼び出す方法をご紹介します。

記事内にショートコードを使ってphpテンプレートを呼び出す方法

まずは、呼び出すショートコードを定義します。

お使いのテーマフォルダの中の「functions.php」に下記のコードを追加してください。

注意
functions.phpのファイルを編集する場合は、必ずバックアップを取った上で編集してください。functions.phpの記入をミスったり記入内容がかぶるとブログが真っ白になって管理画面にさえも入れなくなります。編集は慎重に行ってください。万が一真っ白になってしまった場合は、レンタルサーバーのFTPから入って、functions.phpのファイルを今回編集する前の記述に戻せば直ると思います。

1、functions.phpに下記を挿入

functions.php
//ショートコードを使ったphpファイルの呼び出し
function my_php_Include($params = array()) {
 extract(shortcode_atts(array('file' => 'default'), $params));
 ob_start();
 include(STYLESHEETPATH . "/$file.php");
 return ob_get_clean();
}
add_shortcode('myphp', 'my_php_Include');

上記をfunctions.phpに挿入したら次に記事内で使うショートコードについてです。

2、ショートコードを記事に記載

下記のように、記載して記事内にアナタが作ったphpテンプレートを呼び出す事が出来ます。

アナタが作ったphpテンプレートの名前を入れてショートコードを作成してください。

HTML
[myphp file='template1']

※template1の部分はアナタが作ったphpファイルの名前にしてください。

これで、phpテンプレート内の内容が記事に反映されるはずです。

使い道

使い道としては、色々ありますが私は広告の呼び出しやカテゴリーごとの最近記事の呼び出しに使っています。

使い方は、アイディア次第で無限に広がりますので是非使ってみてください!