WordPressアーカイブページをカスタマイズ!archive.phpの使い方徹底解説

Contents
1. はじめに
archive.php
は、WordPressテーマの中でアーカイブページ(カテゴリ・タグ・日付・投稿者など)を表示するためのテンプレートファイルです。本記事では、自作テーマをベースにarchive.php
の基本構造と、よくあるカスタマイズ方法を紹介します。
2. archive.phpの基本構造
WordPressのテンプレート階層では、カテゴリページやタグページ、日付別アーカイブなどが表示される際にarchive.php
が使われます。以下は基本的な構成例です:
<?php get_header(); ?>
<main>
<h1><?php the_archive_title(); ?></h1>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<article>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<p><?php the_excerpt(); ?></p>
</article>
<?php endwhile; endif; ?>
</main>
<?php get_footer(); ?>
3. よくあるカスタマイズ例
・タイトルの表示を変更する
the_archive_title()
を加工して、不要な接頭辞を削除するなどの調整が可能です。
・カテゴリごとに異なるデザインを適用する
is_category()
を使ってカテゴリ名に応じた装飾を加えることができます。
・表示件数を変更する
functions.php
にて、pre_get_posts
フィルタを使えば、アーカイブページの投稿件数を制御できます。
・投稿タイプごとに表示内容を変える
get_post_type()
で投稿タイプを取得し、異なるレイアウトを適用することが可能です。
4. 条件分岐で柔軟な表示にする
カテゴリやタグごとに見出しを変更する例:
<?php if (is_category('news')) : ?>
<h1>ニュース一覧</h1>
<?php elseif (is_category('blog')) : ?>
<h1>ブログ記事</h1>
<?php else : ?>
<h1><?php the_archive_title(); ?></h1>
<?php endif; ?>
5. デザインの工夫ポイント
- カード型レイアウトにすることで視認性アップ
- アイキャッチ画像(
the_post_thumbnail()
)を表示する - カスタムフィールドや投稿メタを活用する
6. カスタマイズ時の注意点
category.php
やtag.php
など、より優先度の高いテンプレートがあるとarchive.php
は使われません。- 条件分岐は優先順位に注意して正しく書く必要があります。
- テーマのアップデートによる影響を避けるため、カスタマイズは子テーマで行うのが安全です。
7. まとめ
archive.php
を理解し、柔軟にカスタマイズすることで、サイト全体のユーザー体験を向上させることができます。次のステップとして、category.php
やカスタム投稿タイプのアーカイブ対応に挑戦してみましょう。