👋

【WordPress】テンプレートの構造と優先順位について

2023/06/25に公開

メインページ(トップページ)

  • front-page.php
  • home.php
  • inde.php

投稿ページ(記事詳細)

  • single-[投稿タイプ].php
  • single.php
  • inde.php

投稿一覧ページ(一覧)

  • archive-[カスタム投稿タイプのスラッグ].php
  • archive.php
  • index.php

カテゴリー別(一覧)

  • category-[スラッグ].php
  • category-[ID].php
  • category.php
  • archive.php
  • index.php

タグ別(一覧)

  • tag-[スラッグ].php
  • tag-[ID].php
  • tag.php
  • archive.php
  • index.php

カスタム分類別(カスタム投稿の中のカテゴリやタグ:一覧)

  • taxnomy-[分類名]-[スラッグ].php
  • taxnomy-[分類名].php
  • taxnomy.php
  • archive.php
  • index.php

日付別(一覧)

  • date.php
  • archive.php
  • index.php

作成者別(一覧)

  • author-[ユーザー名(小文字)].php
  • author-[ID].php
  • author.php
  • archive.php
  • index.php

固定ページ

  • page-[スラッグ].php
  • page-[ID].php
  • page.php
  • index.php

検索結果

  • search.php
  • index.php

404(not found)

  • 404.php
  • index.php

など、テンプレートには様々な種類と優先度があります。


テンプレートパーツファイル

ページ種別ごとのテンプレートには、さらに複数のパーツテンプレートに分類して構成します。

クラシックテーマの場合

たとえば「front-page.php」の場合には、

パーツ ファイル名 関数
ヘッダー部分 header.php <?php get_header(); ?>
フッター部分 footer.php <?php get_footer(); ?>
サイドバー部分 sidebar.php <?php get_sidebar(); ?>
検索フォーム searchform.php <?php get_search_form(); ?>

たとえば「index.html」の場合には、

ブロックテーマの場合

パーツ ファイル名 関数
ヘッダー部分 header.html
フッター部分 footer.html
サイドバー部分 sidebar.html <?php get_sidebar(); ?>
検索フォーム search.html?

などに分類します。

複数のヘッダーやフッターを使用する

制作するサイトによっては、ヘッダーまたはフッターデザインが数種類存在する場合があります。
2種類目以降のヘッダー、フッターがある場合は、以下のようにテンプレートファイルを作成します。

ファイル名 関数
header-$name.php get_header($name);
footer-$name.php get_footer($name);

その他の呼び出し方法

WordPressでは、「get_header()」や「get_footer()」を使用する以外にも、特定のファイルを呼び出す方法があります。
たとえば、「content.php」を呼び出したい時は、以下のように書くこともできます。

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

また、パスを指定すれば、別階層にあるファイルを呼び出すことも可能です。

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

参考サイト

https://rishuntrading.co.jp/blog/wordpress/wordpressのカスタム投稿タイプ、タクソノミー、ターム/

https://www.webdesignleaves.com/pr/wp/wp_nav_menus.html

Discussion