WordPressでは、カテゴリーごとにテンプレートファイルを出し分けることができますが、同様のことをタグ(tag
)でも実現可能です。この記事では、タグごとに異なるテンプレートを適用する方法を解説します。
タグ用テンプレートの命名規則
タグアーカイブページで使用されるデフォルトテンプレートは tag.php
です。特定のタグ専用のテンプレートを作成したい場合は、以下のいずれかのファイル名で作成します。
tag-{slug}.php
tag-{ID}.php
たとえば、スラッグが news
のタグには tag-news.php
を作成すると、それが優先的に読み込まれます。
テンプレート階層の優先順位
WordPressは以下の優先順位でテンプレートを読み込みます。
tag-{slug}.php
tag-{ID}.php
tag.php
archive.php
index.php
この階層を活用して、任意のタグにだけレイアウトをカスタマイズできます。
タグ「特集記事」にだけ専用テンプレートを適用する例
例えば、特集記事 というタグのスラッグが feature
の場合、以下のファイルを作成することで専用のレイアウトを適用できます。
tag-feature.php
このファイルにHTMLやループを記述すれば、他のタグページとは異なる表示を実現できます。
テンプレートを関数で制御する応用パターン
ファイル数を増やしたくない場合は、tag.php
内でタグスラッグによる条件分岐を行い、テンプレートパーツを切り替える方法もあります。
<?php
$tag = get_queried_object();
if ($tag->slug === 'feature') {
get_template_part('tag-parts/feature');
} else {
get_template_part('tag-parts/default');
}
?>
このように記述することで、管理しやすく柔軟なレイアウト出し分けが可能になります。
まとめ
タグごとに異なるテンプレートを適用すれば、ユーザー体験を高めるカスタマイズが行えます。tag-{slug}.php
のようなテンプレート階層を活用することで、簡単に出し分けが可能になるので、ぜひ導入してみてください。