WordPress・投稿や固定ページでPHPを読み込む
公開日:
最終更新日:2024/05/02
2023.12.11リライトしました。
「記事内のショートコード部分が表示されていない」というご指摘をいただき、こちらを修正いたしました。
投稿や固定ページで共通した内容を表示したい時は、ショートコードで呼び出すのが便利です。
例えば、固定ページに共通したリンクを設置したり、投稿記事の中に「この記事を書いたのは中島です。」と決まって入れるなど。
簡単なものであればコピペでいけるかもしれませんが、コピペしたページが多くなればなるほど「1つ修正が入った」というだけで、とんでもなく面倒なことになります。
ショートコードでPHPを呼び出しておけば、PHPを1つ修正すれば全ページに自動的に反映されるのでとっても便利です。
Contents
①function.phpにコードを記述
以下のコードをfunction.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');
※function.phpをいじる時は必ずバックアップを取るようにしてください。
②共通して読み込むphpファイルを準備
各ページに共通して読み込みたいphpファイルを準備します。他のテンプレートファイルと同様、適当な名前のphpファイルをテーマフォルダにアップしてください。
適当な名前のphpファイルがよくわからない方
②-1
FTPで /wp-content/themes/使用中テーマ に移動します。 その中にある ○○○.phpと名の付くファイルを適当にダウンロードしてください。
②-2
ダウンロードしたら、○○○.phpの○○○の部分を適当にリネームします。 必ずテーマフォルダ内にあるファイル名とかぶらないようにしてください。 ここではとりあえず「abc.php」とします。 このabc の部分は後から使いますので覚えておく。
②-3
ダウンロードしてリネームしたphpファイル内に共通したいコンテンツを書く。
※あとからWP内から書くこともできます。
②-4
もとあったテーマフォルダ内にabc.phpをアップロードする
③固定ページや投稿の表示したいところにショートコードを書く
固定ページや投稿の表示したところに
- [myphp file='abc']
と記載します。
テーマフォルダ内の別のフォルダに格納した場合は
- [myphp file='フォルダ名/abc']
と記載。
このabc の部分がphpのファイル名となります。 .php は書く必要ありません。
これで固定ページや投稿記事内に、abc.phpに記載した内容を表示することができます。