目的
- 投稿の一覧(カテゴリー、タグ、日付など)をアーカイブページで表示できるようにする
- 見出しにアーカイブの種類(カテゴリー名など)を表示する
archive.phpを作成して、WordPressが自動で振り分ける仕組みを理解する
アーカイブページとは?
アーカイブページとは、カテゴリー別一覧・タグ別一覧・投稿年月別一覧・投稿者別一覧などを表示するテンプレートです。
- カテゴリー一覧:
example.com/category/news/ - タグ一覧:
example.com/tag/summer/ - 年別・月別アーカイブ:
example.com/2025/08/ - 投稿者別:
example.com/author/admin/
WordPressが自動で振り分けて archive.php を使用します。
ファイルの作成
テーマフォルダ unnhanbur 内に archive.php を新規作成します。
archive.php のコード例
<?php get_header(); ?>
<!-- ヘッダー読み込み -->
<main class="archive-page"> <!-- アーカイブページ用の全体クラス -->
<!-- アーカイブタイトルと説明 -->
<div class="sub-title">
<h1><?php the_archive_title(); ?></h1> <!-- カテゴリー名やタグ名などを表示 -->
<p><?php the_archive_description(); ?></p> <!-- アーカイブの説明文(任意) -->
</div>
<!-- 投稿一覧を並べる -->
<div class="container archive-list">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<!-- 各投稿を表示するカード -->
<article class="archive-item">
<a href="<?php the_permalink(); ?>"> <!-- 投稿詳細へのリンク -->
<!-- アイキャッチ画像がある場合だけ表示 -->
<?php if (has_post_thumbnail()) : ?>
<div class="archive-thumb">
<?php the_post_thumbnail('medium'); ?> <!-- 中サイズのサムネイル -->
</div>
<?php endif; ?>
<!-- 投稿日・タイトル・抜粋 -->
<div class="archive-meta">
<time datetime="<?php echo get_the_date('Y-m-d'); ?>">
<?php echo get_the_date('Y年n月j日'); ?>
</time>
<h2><?php the_title(); ?></h2>
<p class="excerpt"><?php echo get_the_excerpt(); ?></p>
</div>
</a>
</article>
<?php endwhile; else : ?>
<p>投稿が見つかりませんでした。</p>
<?php endif; ?>
</div>
<!-- ページネーション(複数ページ分かれる場合) -->
<div class="pagination">
<?php the_posts_pagination(); ?>
</div>
</main>
<?php get_footer(); ?>
<!-- フッター読み込み -->
使用しているテンプレートタグの解説
| 関数・タグ | 解説 |
|---|---|
the_archive_title() | 「カテゴリー: お知らせ」「タグ: ◯◯」など自動生成されたタイトルを出力します。 |
the_archive_description() | カテゴリーやタグの「説明」に入力されていれば表示されます。 |
get_the_date() | 各記事の投稿日を取得(the_time() より確実)。HTML属性にも安心。 |
the_post_thumbnail('medium') | アイキャッチ画像を「中サイズ(300px)」で表示します。 |
get_the_excerpt() | 本文の抜粋を自動生成または手動入力で表示します。 |
the_posts_pagination() | WordPress標準のページ送り(ページ番号・次へなど)を表示します。 |
archive.php はどんなときに使われる?
| アーカイブ種別 | 例 |
|---|---|
| カテゴリー | /category/news など |
| タグ | /tag/design など |
| 著者別 | /author/username |
| 月別 | /2025/07 など |
| 投稿タイプ別 | /blog など(カスタム投稿タイプにより) |
クラス構成
| クラス名 | 用途 |
|---|---|
.archive-page | アーカイブページ全体のスタイリング |
.sub-title | 上部見出し部分(タイトルと説明) |
.container.archive-list | 投稿一覧を並べるためのブロック |
.archive-item | 投稿1件のブロック。カード風レイアウトを想定 |
.archive-thumb | アイキャッチ画像を囲む枠 |
.archive-meta | 日付・タイトル・抜粋などのテキスト情報 |
.pagination | ページネーション(ページ送り)部分 |
