説明
locate_template() は、テーマ内のテンプレートファイルを探し、パスを返す関数です。子テーマを優先して探します。
基本構文
locate_template( string|string[] $template_names, bool $load = false, bool $load_once = true, array $args = array() ): string
引数
$template_names:テンプレートファイル名(複数可)$load:見つかったら読み込むか$load_once:require_onceを使うか$args:引数
戻り値
見つかったファイルのパス。なければ空文字。
使い方(サンプル)
$path = locate_template( 'template-parts/card.php' );
注意点
- 親子テーマの両方から探します。
実務での使いどころ
- 子テーマ・親テーマの順に、テンプレートのファイルを探して、パスを取得するとき。
- 複数の、候補(優先順)から、最初に見つかるファイルを、使うとき。
よくあるミスと対処
- 見つからないとき、空文字が返る。確認せずに、使う。
$loadの既定はfalse(パスを返すだけ)。読み込むときは、trueを指定する。- 候補を、配列で、優先順に並べていない。
NG例
$file = locate_template( 'template-parts/card.php' );
require $file; // 見つからないと、空文字で、エラーになる
OK例
$file = locate_template( array( 'template-parts/card-news.php', 'template-parts/card.php' ) );
if ( $file ) {
load_template( $file, false );
}
使い分け早見表
| 関数 | 役割 |
|---|---|
locate_template() |
テンプレートのファイルの場所を、探す |
get_template_part() |
探して、読み込む(通常はこちら) |
load_template() |
パスを指定して、読み込む |
関連項目
get_template_part()、get_theme_file_path()、load_template()
公式リファレンス:locate_template() | Function | WordPress Developer Resources

コメント