28:アーカイブ一覧全般テンプレート作成
WordPressは用途に応じたテンプレート名があらかじめ決めれています。主なテンプレート名は以下です。
| front-page.php | フロントページ表示用テンプレート |
|---|---|
| home.php | 主に固定ページの上にあるブログ投稿一覧表示用テンプレート |
| single.php | 投稿詳細ページ表示用テンプレート |
| page.php | 固定ページ表示用テンプレート |
| archive.php | アーカイブ一覧全般表示用テンプレート |
| category.php | カテゴリー一覧表示用テンプレート |
| tag.php | タグ一覧表示用テンプレート |
| search.php | 検索結果一覧表示用テンプレート |
| date.php | 日付別一覧表示用テンプレート |
| 404.php | 404エラー表示用テンプレート |
| searchform.php | 検索フォーム用テンプレート |
| comments.php | コメント用テンプレート |
「archive.php」は「カテゴリー一覧」「タグ」「日付・時間一覧」を表示する時に使用するテンプレートです。
このテンプレートが呼び出される時、メインループデータには該当するアーカイブデータが入ります。
以下の専用テンプレートがありますが、今回は「archive.php」ですべての一覧を表示します。
「カテゴリー一覧」のみに使用するテンプレートは「category.php」
「タグ一覧」のみに使用するテンプレートは「tag.php.php」
「日付・時間一覧」のみに使用するテンプレートは「date.php」
カテゴリー一覧
|
優先度(高い ← → 低い) |
||||
|---|---|---|---|---|
|
category-スラッグ.php |
category-カテゴリーID.php |
category.php |
archive.php |
index.php |
タグ一覧
|
優先度(高い ← → 低い) |
||||
|---|---|---|---|---|
|
tag-スラッグ.php |
tag-タグID.php |
tag.php |
archive.php |
index.php |
日付・時間一覧
|
優先度(高い ← → 低い) |
||
|---|---|---|
|
date.php |
archive.php |
index.php |
アーカイブ全般表示用テンプレート
アーカイブ一覧全般に使用できる「archive.php」を新しく作成します。
archive.php
<?php get_header(); ?>
<div class="main-loop">
<div class="inner">
<?php // アーカイブタイトル表示 ?>
<h1>
<?php
if (is_category()) {
single_cat_title('カテゴリ:');
}elseif(is_tag()){
single_tag_title('タグ:');
}elseif (is_month()) {
the_time('Y年m月');
}
// 検索結果の記事数
$found_posts = $wp_query->found_posts;
?> の一覧:<?php echo $found_posts;?>件
</h1>
<?php /***** メインループ開始 *****/ ?>
<?php if (have_posts()) :?>
<?php while (have_posts()) : the_post(); ?>
<?php $id = get_the_ID(); ?>
<?php // テンプレートパーツ読み込み:一覧 ?>
<?php get_template_part('content'); ?>
<?php endwhile; ?>
<?php else: ?>
<?php // テンプレートパーツ読み込み:記事なし ?>
<?php get_template_part('content','none'); ?>
<?php endif; ?>
<?php /***** メインループ終了 *****/ ?>
<?php // ページネーション ?>
<?php if (pagination()) : ?>
<div class="pagination"><?php echo pagination(); ?></div>
<?php endif; ?>
</div><!-- /.inner -->
</div><!-- /.main-loop -->
</div><!-- /.main -->
<?php get_sidebar(); ?>
</div><!-- /.content -->
<?php
get_footer();
調べてみよう
「$wp_query」はどのような値をもっているか調べてみよう。
このページで出てくる関数
WordPress関数は「公式サイトのドキュメント」で確認しましょう。
WordPressプロパティ
$wp_query->found_posts
WordPress関数
get_header()
is_category()
single_cat_title()
is_tag()
single_tag_title()
is_month()
get_the_time(‘Y年m月’)
have_posts()
the_post()
get_the_ID()
get_template_part()
get_sidebar()
get_footer()
オリジナル関数
pagination()
欠席者対応:wireframe11