こんにちは。
ブログを移行してはじめての投稿です。
今回は、クライアントワークで「施工実績」をカスタム投稿タイプで構築し、そのアーカイブページに年度別投稿一覧を表示したい!と勝手に思いついて実装したのでメモ。
だってね、絶対そのほうが見やすいと、思ったんだよ。
今回の条件
| カスタム投稿タイプ | 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のアーカイブページで投稿を年度別に一覧表示したかった。”