Google先生に聞いたらすぐ出てくると思ったけど、なかなかうまく情報が拾えず、自前でゴニョゴニョする必要があったので備忘録的メモ。
学校や役所がらみだと、年別アーカイブを年度別(4月1日はじまり3月末締め)で情報を出す必要がある場合あり。
というか、あった。
まずは、pre_get_posts
で、ループ前に変更。
function custom__pre_get_posts( $query ) {
if ( is_admin() || ! $query->is_main_query() ) {
return $query;
}
if ( is_year() ) {
$y = get_query_var( 'year' );
$date_from = $y . '-04-01';
$date_to = ( $y + 1 ) . '-03-31 23:59:59';
$query->set( 'date_query', array(
'compare' => 'BETWEEN',
'after' => $date_from,
'before' => $date_to,
'inclusive' => true,
) );
$query->set( 'year', null ); //元々あった年指定を削除
}
return $query;
}
add_action( 'pre_get_posts', 'custom__pre_get_posts' );
これでOK。