【WordPress】タグごとに異なるテンプレートを適用する方法

【WordPress】タグごとに異なるテンプレートを適用する方法 WordPress

WordPressでは、カテゴリーごとにテンプレートファイルを出し分けることができますが、同様のことをタグ(tag)でも実現可能です。この記事では、タグごとに異なるテンプレートを適用する方法を解説します。

タグ用テンプレートの命名規則

タグアーカイブページで使用されるデフォルトテンプレートは tag.php です。特定のタグ専用のテンプレートを作成したい場合は、以下のいずれかのファイル名で作成します。

  • tag-{slug}.php
  • tag-{ID}.php

たとえば、スラッグが news のタグには tag-news.php を作成すると、それが優先的に読み込まれます。

テンプレート階層の優先順位

WordPressは以下の優先順位でテンプレートを読み込みます。

  1. tag-{slug}.php
  2. tag-{ID}.php
  3. tag.php
  4. archive.php
  5. 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 のようなテンプレート階層を活用することで、簡単に出し分けが可能になるので、ぜひ導入してみてください。