Learning site for website creation

019:アーカイブ一覧表示用テンプレート追加

  • 投稿日:2020年11月08日
  • 更新日:2020年11月12日

カテゴリーリンクをクリックしてもテンプレート「index.php」の「最後の砦」が表示され、カテゴリー一覧が表示されない状況です。

アーカイブ一覧表示用テンプレート「archive.php」を作成します。

専用テンプレート

必要に応じて専用のテンプレートを追加できます。他にも追加できるファイルがありますが主なファイルは以下です。

front-page.phpフロントページ表示用テンプレート
home.php主に固定ページの上にあるブログ投稿一覧表示用テンプレート
single.php投稿詳細ページ表示用テンプレート
page.php固定ページ表示用テンプレート
archive.phpアーカイブ一覧全般表示用テンプレート
category.phpカテゴリー一覧表示用テンプレート
tag.phpタグ一覧表示用テンプレート
search.php検索結果一覧表示用テンプレート
date.php日付別一覧表示用テンプレート
404.php404エラー表示用テンプレート
header.php共通ヘッダーパーツテンプレート
footer.php共通フッターパーツテンプレート
sidebar.php共通サイドバーテンプレート
searchform.php検索フォーム用テンプレート
comments.phpコメント用テンプレート

テーマ内に専用テンプレートを追加

カテゴリー一覧表示用テンプレートの「archive.php」を追加します。 

フォルダ構成

  • lesson01
    • imgフォルダ
    • archive.php(追加)
    • front-page.php
    • functions.php
    • home.php
    • index.php
    • screenshot.png
    • single.php
    • style.css

条件結果一覧表示テンプレートの最後の砦

テンプレート「index.php」がすべてのテンプレートの「最後の砦」だとしたら「archive.php」は条件に基づく一覧表示の「最後の砦」です。

様々な一覧表示の受け皿になっています。

アーカイブ

優先度(高い ← → 低い)
archive-投稿タイプ.php archive.php index.php

カテゴリー一覧

優先度(高い ← → 低い)
category-スラッグ.phpcategory-カテゴリーID.phpcategory.phparchive.phpindex.php

タグ一覧

優先度(高い ← → 低い)
tag-スラッグ.phptag-タグID.phptag.phparchive.phpindex.php

日付・時間一覧

優先度(高い ← → 低い)
date.phparchive.phpindex.php

一覧ページのカテゴリ名を表示

カテゴリ一覧のタイトルなどでカテゴリ名を表示するにはsingle_cat_title関数を使用します。

この関数はループの外で使用します。

<?php single_cat_title(); ?>

アーカイブタイトル表示関数

アーカイブ一覧テンプレート「archive.php」では「一覧表示条件」を表示するthe_archive_title関数を呼び出します。

この関数はループ外で呼び出すことができます。

<?php the_archive_title(); ?>

一覧ページの総件数を表示

一覧ページの総件数を表示するにはページ情報を保持している暗黙変数(あらかじめ必要データがセットされている変数)から必要情報を参照します。

<?php echo $wp_query->found_posts; ?>