WordPress・投稿や固定ページでPHPを読み込む

公開日:

最終更新日:2024/02/14

2023.12.11リライトしました。

「記事内のショートコード部分が表示されていない」というご指摘をいただき、こちらを修正いたしました。


 

投稿や固定ページで共通した内容を表示したい時は、ショートコードで呼び出すのが便利です。

例えば、固定ページに共通したリンクを設置したり、投稿記事の中に「この記事を書いたのは中島です。」と決まって入れるなど。

簡単なものであればコピペでいけるかもしれませんが、コピペしたページが多くなればなるほど「1つ修正が入った」というだけで、とんでもなく面倒なことになります。

ショートコードでPHPを呼び出しておけば、PHPを1つ修正すれば全ページに自動的に反映されるのでとっても便利です。

①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に記載した内容を表示することができます。

Categorised in: ,