PHPをショートコードで

【Caution!!】全サイトにコピペ可能(多分) コピペの際は、設計でこの文書を開いて行うこと!

大まかなフロー

1,PHPを作成(保存)
2,functionx.php に、ショートコードで呼び出すためのコードを挿入
3,任意の場所(固定ページや投稿ページ)にショートコードを挿入

【1,PHPを作成(保存)】
自作PHPを作成→保存する。
後日、PHPが増えることを見込み、PHP用のフォルダに保存することが望ましい。

【2,functionx.php に、ショートコードで呼び出すためのコードを挿入】
使用しているテーマのfunctionx.phpの最下部に、以下のコードを記述

function Include_my_php($params = array()) {
extract(shortcode_atts(array(
'file' => 'default'
), $params));
ob_start();
include(get_stylesheet_directory_uri() . "/tomoko/$file.php");
return ob_get_clean();
}
add_shortcode('myphp', 'Include_my_php');

tomokoは、PHP用のフォルダ
(‘myphp’, ‘Include_my_php’);  Include_my_php 関数を、myphp というショートコードで読み込みます  という意味。

【3,任意の場所にショートコードを挿入】
PHPを呼込みたい場所に、以下のコードを挿入
[myphp file=’blog‘]

blogは、フォルダ内のphpファイルを指定する。 .php は付けないこと!!
同じフォルダ内の自作関数 test.php を実行したい場合は、[myphp file=’test‘]となる。

【注意!!】
include(get_stylesheet_directory_uri() .
この部分の書き方に注意!
get_stylesheet_directory_uri()    この戻り値は「現在使用している style.css」のURIを返します。
今回は、子テーマフォルダ内にtomokoフォルダを作成し、その中にPHPファイルを保存したため、この記述となります。

【ついでに・・・】
get_template_directory_uri() は、 現在のテーマのURIを取得します。
子テーマが使用されている場合でも、親テーマのURIが返されます。
いずれの関数も、フォルダ名の最後に /は含みません。

参考URL
参考URL-2