[WordPress] get_template_part()の使い方

どのような時に便利か

共通部分のスタイルや内容の更新をする際に、ソース修正が一つ(テンプレートのみ)で済みます。

テンプレートパーツするメリット
  • ソース作成時、および更新時の手間を省くことができる
  • 修正漏れを防ぐことができる

使い方

テンプレートタグの詳細

<?php get_template_part( $slug ); ?>
<?php get_template_part( $slug, $name ); ?>

$slug(必須):一般テンプレートのスラッグ名
$name(オプション):特定テンプレートの名前

使用例:$slugのみ設定するケース

/*
 ファイルパス:WordPressテーマディレクトリ直下
 ファイル名:parts_navi.php → ファイル名にハイフンを用いていない
*/

<?php get_template_part( 'parts_navi' ); ?>
/*
 ファイルパス:WordPressテーマディレクトリ直下に「template-parts」ディレクトリ作成
 ファイル名:parts_navi.php → ファイル名にハイフンを用いていない
*/

<?php get_template_part( '/template-parts/parts_navi'); ?>

使用例:$slug、$nameを設定するケース

/*
 ファイルパス:WordPressテーマディレクトリ直下に「template-parts」ディレクトリ作成
 ファイル名:parts-navi.php → ファイル名にハイフンを使用
*/
<?php get_template_part( '/template-parts/parts', 'navi' ); ?>

第一引数の$slugにテーマディレクトリからテンプレートファイルまでのパスを指定しています。
第二引数の$nameにテンプレートファイル名のハイフン以降の名前を指定しています。

テンプレートファイルを探す優先順位

テンプレートファイルを探す優先順位があるため、第一引数にハイフンより右のファイル名を設定するという、記載ルールになります。(慣れないと、イメージつきづらい部分かなと思います。)

  1. 子テーマのparts-navi.php
  2. 親テーマのparts-navi.php
  3. 子テーマのparts.php
  4. 親テーマのparts.php

参考(翻訳してご確認ください。)
GET_TEMPLATE_PARTを理解する

タイトルとURLをコピーしました