カスタム投稿タイプのアーカイブページで投稿を年ごとに分離するにはどうすればよいですか?
while ( have_posts() ) : the_post();
the_title();
the_post_thumbnail('thumb');
endwhile;
最終結果は次のようになります。
2016
- Title1
- Title2
- Title3
- Title4
2015
- Title1
- Title2
- Title3
- Title4
etc.
この小さなスニペットが役に立ちます。
$years = array();
if( have_posts() ) {
while( have_posts() ) {
the_post();
$year = get_the_date( 'Y' );
if ( ! isset( $years[ $year ] ) ) $years[ $year ] = array();
$years[ $year ][] = array( 'title' => get_the_title(), 'permalink' => get_the_permalink() );
}
}
このコードは、(現在のループ内の)すべての投稿を取得し、各投稿の年を取得し、各投稿のタイトルとパーマリンクをその年の配列にプッシュします。