【PHP・WordPress】include、require、get_template_part()などの違い

WordPressなどPHPを使用してウェブサイトを作成していると、指定したファイルをインクルードする(読み込む)ことがあると思います。

そのような場合に、include、require、get_template_part()など、ファイルを読み込む方法はいくつかあり違いがあります。

今回は、そのファイルを読み込む方法の違いなどのまとめとなります。

ファイルを読み込み実行する場合

include、requireについて

include、require文は、ともに指定したファイルを読み込み実行することができます。

変数について

読み込まれる側のファイル内の変数は、読み込む側のファイル内で利用可能となります。

include_once、require_onceについて

include_once、require_once文は、指定したファイルが既に読み込まれている場合、ファイルの読み込みは行われません。

includeと、requireの違い

  • include文の場合、読み込まれるファイルが見つからない場合、警告となりますがプログラムの実行は止まりません。
  • require文の場合、読み込まれるファイルが見つからない場合、エラーとなりプログラムが停止します。

使用例

includeで指定したファイルを読み込み出力する例

以下は、同じディレクトリにある「template-parts」ファルダ内の「content.php」ファイルを読み込み出力する例となります。

include 'template-parts/content.php' ;

requireで指定したファイルを読み込み出力する例

以下は、同じディレクトリにある「template-parts」ファルダ内の「content.php」ファイルを読み込み出力する例となります。

require 'template-parts/content.php' ;

ファイルの内容を文字列として読み込む場合

file_get_contents()について

file_get_contents()は、指定したファイルの内容を文字列として読み込むことができます。

また、指定したファイル内の一部のみを文字列として読み込むことも可能です。

変数について

ファイルの内容を文字列として読み込むため、読み込まれる側のファイル内の変数や関数などは利用できません。

読み込まれるファイルが見つからない場合

読み込まれるファイルが見つからない場合は、FALSE を返します。

使用例

以下は、同じディレクトリにある「template-parts」ファルダ内の「content.php」ファイルのすべての文字列を読み込み出力する例となります。

また、file_get_contents()はファイルを読み込むだけなので、出力する際にはechoなどを使用します。

$file = file_get_contents( 'template-parts/content.php' , FILE_USE_INCLUDE_PATH );
echo $file ;

WordPress関数でファイルを読み込み実行する場合

get_template_part() について

get_template_part()は、WordPressのテンプレートパーツ(ヘッダー、サイドバー、フッターを除く)のファイルを読み込むことができます。

変数について

読み込まれる側のファイル内の変数は、読み込む側のファイル内で利用できません。

読み込まれるファイルが見つからない場合

警告はなくプログラムの実行は止まりません。

使用例

以下は、同じディレクトリにある「template-parts」ファルダ内の「content.php」ファイルを読み込み出力する例となります。また、引数に指定するファイル名に拡張子は不要です。

get_template_part( 'template-parts/content' );

参考サイト、参考書籍

コメントまたはTwitterで返信

コメントは、以下の項目(*は必須項目)を入力し「コメントを送信」ボタンから送信お願いします。メールアドレスは公開されることはありません。Twitterで返信する場合はコチラから。