【PHP・WordPress】include、require、get_template_part()などの違い
WordPressでウェブサイトを作成していると、指定したファイルをインクルードする(読み込む)ことがあると思います。
そのような場合に、include、require、get_template_part()など、ファイルを読み込む方法はいくつかありますが、今回は、そのファイルを読み込む方法の違いなどのまとめとなります。
include、require
include、require文は、WordPress以外のPHPプロジェクトでも利用でき、ともに指定したファイルを読み込み実行することができます。
指定したファイル内の変数について
include、require文で指定したファイル内の変数は、読み込む側のファイル内で利用可能。
include_once、require_onceについて
include_once、require_once文では、指定したファイルが既に読み込まれている場合、ファイルの読み込みは行われません。
includeとrequireの違い|指定したファイルが見つからない場合
指定したファイルが見つからない場合、includeと、requireで以下の違いがあります。
include、include_once | 警告となりますがプログラムの実行は止まりません |
require、require_once | エラーとなりプログラムが停止します |
使用例
includeで指定したファイルを読み込み出力する例
以下は、同じディレクトリにある「template-parts」フォルダ内の「content.php」ファイルを読み込み出力する例となります。
include 'template-parts/content.php' ;
requireで指定したファイルを読み込み出力する例
以下は、同じディレクトリにある「template-parts」フォルダ内の「content.php」ファイルを読み込み出力する例となります。
require 'template-parts/content.php' ;
get_template_part() |WordPress関数
get_template_part()はWordPressで利用できる関数となり、WordPressのテンプレートパーツ(ヘッダー、サイドバー、フッターを除く)のファイルを読み込むことができ、以下のような特徴があります。
- 子テーマと親テーマに同じ名前のファイルがある場合、子テーマを優先的に読み込み
- get_template_part()を読み込む際に、アクションフック'get_template_part_{$slug}'を利用可能
指定したファイル内の変数について
get_template_part()で指定したファイル内の変数は、読み込む側のファイル内で利用できません。
指定したファイルが見つからない場合
警告はなくプログラムの実行は止まりません。
使用例
以下は、同じディレクトリにある「template-parts」フォルダ内の「content.php」ファイルを読み込み出力する例となります。また、引数に指定するファイル名に拡張子は不要です。
get_template_part( 'template-parts/content' );