👋
【WordPress】テンプレートの構造と優先順位について
メインページ(トップページ)
- 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' ); ?>
参考サイト
- テンプレート ファイル | テーマ開発者ハンドブック | WordPress 開発者リソース
- WordPressのアーカイブページの作り方 - 集まれ!ワードプレス初心者!!
- 【WordPress】カスタム投稿タイプの記事一覧(アーカイブ)ページを作る方法 | でざなり
- WordPressのテンプレートパーツファイルについて押さえよう | ZeroPlus Media
- WordPressのカスタムタクソノミー(カスタム分類)とは - WEBST8のブログ
Discussion