WordPressでPHPファイルをインクルードする方法【投稿+固定ページ対応】

ちょっとむずい WordPress

WordPressでPHPファイルをインクルードするとは?

WordPressでは、テーマファイルの中で、別のPHPファイルを読み込むことができます。
PHPファイルをインクルードするとも言い方もありますね。

例えば、テーマファイル【page.php】の中で【test.php】を読み込むなど。

このPHPファイルの読み込み(インクルード)に関して解説をしていきます。

PHPファイルをインクルードするのはどんな時?

どの様な場面で、PHPファイルの読み込む(インクルードする)する機会があるのでしょうか?

機会は色々とあるかと思うのですが、個人的には「共通するコードを1つのPHPファイルにまとめる」というケースが一番多いと感じています。共通のコードを1つのファイルにまとめ、各テンプレートファイルで読み込めば、そのコードを更新する時に1回の更新で済みます。

具体的な使い方としては、アドセンスのコードをPHPファイルに記述して各テンプレートファイルで読み込む使い方などがあります。

あとは、既存のテーマをカスタマイズす時、追記するコードは別のPHPファイルを作成して読み込む使い方も考えられます。こうしておけば、元からあったコードと追記したコードが一目瞭然になるので、後々の作業でコードがゴチャゴチャになるのを防ぐことができます。

この他にも、PHPファイル読み込む機会は色々とあるかと思いますので、覚えておいて損はありません。

WordPressでPHPファイルをインクルードする方法【テーマファイル内】

テーマファイルに外部PHPを読み込ませる方法は簡単。
PHPファイルを読み込みたい箇所に、以下のコードを記述するだけです。

<?php include("ここにPHPファイルのパスを記述"); ?>

【ここにPHPファイルのパスを記述】部分に、読み込みたいPHPファイルへのパスを記述します。

例えば、【page.php】の中で【test.php】を読み込みたい場合で、【test.php】が【page.php】と同じ階層にある場合は、以下のように記述します。

<?php include("test.php"); ?>

このコードを記述するだけで、その部分に読み込んだPHPファイルの内容が表示されるようになります。

上記の例で言えば、【test.php】に「こんにちは!」と記述されていた場合、【page.php】で上記のコードを記述した個所に「こんにちは!」と表示されます。

ただし、この方法はテーマファイルの中だけに限ります。
固定ページや投稿でPHPファイルを読み込む方法は次の項目で解説します。

WordPressでPHPファイルをインクルードする方法【固定ページや投稿】

固定ページや投稿でPHPファイルを読み込む(インクルードする)方法をご紹介します。

WordPressの固定ページと投稿では、PHPコードを記述しても正常に動作しません。
なので、先ほどご紹介したコードでは、PHPファイルを読み込むことができないのです。

解決方法としては、プラグインを導入して固定ページと投稿でPHPコードが使えるようにする方法があるのですが、個人的にプラグインの数が増えるのは好みではりません。

そこで今回は、ショートコードを活用してPHPファイルを読み込む方法をご紹介します。

まず、PHPファイルを読み込むためのショートコードを作成しましょう。
functions.phpに以下のコードを追記するだけでOKです。

//ショートコードを使った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');

[WordPress]ショートコードでPHPテンプレート(ファイル)を呼び出すより抜粋

このコードを追加する事で、ショートコードでPHPファイルを読み込めるようになりました。
あとは、固定ページか投稿でPHPファイルを読み込みたい箇所にショートコードを記述します。

例として【test.php】を読み込むものとします。
その場合は、以下のように記述します。

【myphp file='test'】

実際にコードを記述するときは【】を[]に置き換えてください。

ショートコードは、ビジュアルエディタに記述しても正常に動作しません。
必ず、テキストエディタに記述してください。

今回は【test.php】を読み込むものとして解説をさせていただきました。
別のPHPファイルを読み込みたい場合、上記ショートコードの【test】を変更してください。

【test】部分に読み込みたいPHPファイルの名前を記述すればOKです。

子テーマでファイルをインクルードするときは注意が必要

子テーマのファイルで、同じく子テーマのファイルをインクルードするときは、今回ご紹介したコードではファイルをインクルードすることはできません。

この場合は【STYLESHEETPATH】を使ってやる必要があります。

子テーマに設置したファイルをインクルード(include)する方法をご覧ください。
詳しく解説しています。

まとめ

WordPressでPHPファイルをインクルードする方法をご紹介しました。

  • 共通するコードを1つのPHPファイルにまとめる時などに使える方法です。
  • テーマファイル内では、PHPコードでPHPファイルを読み込みます。
  • 固定ページや投稿では、ショートコードを使ってPHPファイルを読み込みます。
WordPressでPHPファイルをインクルードする方法【投稿+固定ページ対応】
WordPressでPHPファイルを読み込む(インクルードする)方法をご紹介しています。共通するコードを1つのファイルにまとめるときなどに役立つカスタマイズ方法です。今すぐクリックして内容を確認しましょう!

コメント

タイトルとURLをコピーしました