前提・実現したいこと
下記サイトを参考に、年度別のアーカイブページを作成することができました。
年度別アーカイブの作り方【WordPress】
https://www.t-web.co.jp/blog/wp-fiscal-year-archive/
しかし、1~3月に投稿があった場合のページタイトルとパンくずリストが次年度の表示になってしまいます。
1~3月に投稿があった場合でも、ページタイトルとパンくずリストを正しい年度で取得・表示させることは可能でしょうか。
発生している問題・エラーメッセージ
例:2021年3月31日の投稿のがある場合、2020年度のアーカイブページのタイトルとパンくずリストが2021年になってしまいます。
該当のソースコード
function custom__pre_get_posts( $query ) { if ( is_admin() || ! $query-> is_main_query() ) { return $query; } if ( is_year() ) { // 年別アーカイブを指定します $nowY = get_query_var( 'year' ); // そのページの年を取得 $nextY = ( $nowY + 1 ); // 翌年を定義 // 年別アーカイブのループの内容を書き換え $query->set( 'date_query', array( 'after' => array( // その年の4/1から 'year' => $nowY, 'month' => 4, 'day' => 1, ), 'before' => array( // 翌年の3/31まで 'year' => $nextY, 'month' => 3, 'day' => 31, ), 'inclusive' => true, 'compare' => 'BETWEEN', ) ); $query->set( 'year', null ); // 元々の年指定を削除します } return $query; } add_action( 'pre_get_posts', 'custom__pre_get_posts' ); add_filter( 'widget_archives_args','my_archives'); function my_archives( $content ){ $content['type'] = 'yearly'; $content['after'] = '<span class="year-name">年</span>'; //200Xの後に"年"を表示 $content['limit'] = 30; //n年分を表示、この場合5年 return $content; }
試したこと
あまりPHPに詳しくないため、参考になるサイトや記事を探しましたが、実現することができませんでした。
補足情報(FW/ツールのバージョンなど)
wordpress 5.7
お力添えいただけますと幸いです。
宜しくお願い致します。
あなたの回答
tips
プレビュー