【WordPress】カスタム投稿の年別アーカイブをドロップダウンで追加する方法を解説

WordPress

今回はWordPressで「お知らせ」「ブログ」などで使える年別アーカイブの追加方法を紹介します。

archive.php archive-●●.php などに設置する想定で解説していきます。

コードを確認する

<select name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
	<option value="<?php echo esc_url( home_url() ); ?>/news">すべての年</option>
	<?php
	 wp_get_archives( 'type=yearly&format=option&post_type=news&after=年' );
	 ?>
</select>

中身はこんな感じです。

今回は”post_type=news”としていますので、カスタム投稿「news」のアーカイブリンクを設置するイメージのコードを紹介しています。

※通常の投稿の場合は”post_type=post”

下で今回のコードをざっくり解説してますので、サイトに合わせてカスタマイズしてみてください。

ざっくりとしたコード解説

”wp_get_archives” でアーカイブリンクをひっぱって、それをselectタグ内に追加していくイメージです。

今回は”すべての年”というoptionタグも追加して、いつでも一覧ページに戻れるようにしています。リンク先の変更や、表記変更などいろいろ試してみてください。

以下で各パラメータを解説してます。

パラメータ解説

キーワード意味
typeアーカイブ種別を指定(’daily’、’weekly’、’monthly’、’yearly’、’postbypost’、’alpha’など)
format表示形式を指定(’html’、’link’、’option’など)
post_type投稿タイプを指定
afterリンク名の後に連結する文字列
参考: https://elearn.jp/wpman/function/wp_get_archives.html

今回使っているものはこちらです。他にもパラメータあるので紹介します。

キーワード意味
limit表示件数(正数)
beforeリンク名の前に連結する文字列
show_post_count投稿件数を表示する場合はtrue、表示しない場合はfalse
echo表示する場合は1、文字列として取得する場合は0
order降順は’DESC’、昇順は’ASC’を指定
参考: https://elearn.jp/wpman/function/wp_get_archives.html

まとめ

WordPressのこういうコードってまじで忘れちゃうので、ブックマークなりで保存していつでも使えるようにしておくと便利だと思います。自分用の備忘録としてこれからもWordPressの便利なコード紹介していきます。

コーディングでお困りなら、、、

コーディングの実装でお困りの場合は https://coding-shop.net/contact/ こちらよりお問い合わせください。

またコーディングの委託など、お仕事に関するお問い合わせも上記リンクよりお気軽にご連絡ください。

タイトルとURLをコピーしました