はじめに WordPressを使っていて、「投稿が存在する年のデータのみを一覧で取得したい」という場面は意外と多いと思います。 (アーカイブページで年ごとに投稿を表示したい、年のデータを使った絞り込みUIを作成したい、など) しかし、WordPressには投稿年の一覧データのみ取得するための関数が用意されていません。 wp_get_archives()を使えばアーカイブリンクを取得できますが、この関数はHTMLしか返さないため、年の一覧を取得して何かしらの処理を行う場合は適していません。 ここでは、投稿が存在する年の一覧を取得する方法を2つ紹介します。 方法1:WP_Queryを使う WP_Queryを使って投稿を取得。愚直にループで年の一覧を取得します。 $args = [ 'post_type' => 'post', 'orderby' => 'date', 'posts_per_pa