<?php
$args = array(
'post_status' => 'publish',
'post_type' => 'news',
);
// 年情報を取得する。
$year = get_the_date( 'Y' ); // 月を取得する場合は「m」を引数に。
// 年別アーカイブページのとき、クエリに年情報を追加。
if (is_year()):
$args = array_merge(
$args,
array(
'date_query' => array(
array(
'year' => $year,
),
),
)
);
endif;
$query = new WP_Query($args);
?>
ループファイル
<ul>
<?php
$args = array(
// アーカイブリストの種類を指定
'type' => 'yearly', // 月別であればmonthlyを指定。
// カスタム投稿タイプのスラッグを指定
'post_type' => 'news',
);
// アーカイブリストを表示
$yearly_list = wp_get_archives($args);
?>
</ul>
wp_get_archives()関数を用いたリスト