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ファイルを読み込みます。
コメント