こんにちは。
ブログを移行してはじめての投稿です。
今回は、クライアントワークで「施工実績」をカスタム投稿タイプで構築し、そのアーカイブページに年度別投稿一覧を表示したい!と勝手に思いついて実装したのでメモ。
だってね、絶対そのほうが見やすいと、思ったんだよ。
今回の条件
カスタム投稿タイプ | works(施工実績) |
---|---|
カスタムフィールド | works_period(期間)、works_orderer(発注者) |
記事タイトル | 工事名 |
表示方法 | tableで期間、発注者、工事名を表示! |
※カスタムフィールドプラグイン:Advanced Custom Fields
実際のコード
<?php function archiveFunc($year){ $newslist = new WP_Query( array( 'post_type' => 'works', 'posts_per_page' => -1, 'year' => $year )); ?> <h3><?php echo $year; ?>年</h3> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <th width="15%">■期間</th> <th width="20%">■発注者</th> <th>■工事名</th> </tr> <?php if($newslist->have_posts()): while($newslist->have_posts()): $newslist->the_post(); ?> <tr> <td><?php the_field('works_period'); ?></td> <td><?php the_field('works_orderer'); ?></td> <td><strong><?php the_title(); ?></strong></td> </tr> <?php endwhile; endif; wp_reset_postdata(); ?> </tbody> </table> <?php } $thisyear = date('Y'); for ($year=$thisyear; $year >= 2010; $year--) { archiveFunc($year); } ?>
関数の中で、変数に入った「年」の投稿一覧を表示するコードを書きます。
そして指定した「年」から現在の「年」までの記事を出力するようにfor文で関数を回しています。
参考にした記事
[Wordpress]特定のカテゴリーで年ごとに記事一覧を表示する方法 – Qiita
助かりました〜。
One thought to “WordPressのアーカイブページで投稿を年度別に一覧表示したかった。”