【WordPress】get_template_part の使い方

get_template_part()

get_template_part( $slug, $name );

テンプレートパーツをテンプレートへ読み込む。

ヘッダー、サイドバー、フッターを除く、テーマファイルの中のテンプレートを読み込みます。(優先順位は親→子)


使用例

PHP

<?php get_template_part( 'parts' ); ?>

テーマフォルダ直下の「parts.php」を読み込みます。

PHP

<?php get_template_part( 'parts/content' ); ?>

テーマフォルダ内「parts」フォルダの中の「content.php」を読み込みます。

PHP

<?php get_template_part( 'loop', 'index' ); ?>

テーマフォルダ直下の「loop-index.php」を読み込みます。(見つからない場合は「loop.php」を読み込み)

個別投稿ページを表示させない

カスタム投稿(例:「custom」)を作成して、アーカイブページは欲しいけど個別投稿ページはいらないなーというとき、そのままにしておくと個別投稿ページが何らかの理由で(検索に引っかかったりとか)表示されたときに不本意なことになってしまうので、カスタム投稿のsingleページを用意して404テンプレートを読み込ませておきます。

single-custom.php

<?php get_template_part( '404' ); ?>

もしsingleページが表示されてしまっても、エラー表示になるので安心。

変数を渡すとき

変数はテンプレート間を渡れないので、読み込むテンプレートファイルに変数を渡したい場合は別途記述が必要です。

PHP

// 変数「my_var」を「content-part.php」へ渡す
set_query_var( 'my_var', $my_var );
get_template_part( 'content', 'part' );