初心者コーダーのための
HTML/CSS JavaScript PHP WordPress
難しい言葉や概念より、実践重視の入門ブログ
WordPress

【WordPress】年別・月別アーカイブの作成方法【wp_get_archives】

【WordPress】年月・月別アーカイブ サイドバーなどに年月アーカイブを出力しよう!

よくブログなどで、サイドバーに年月一覧のアーカイブが設置されていますよね。

年月別のアーカイブは、

wp_get_archives()

を使って出力することができます。

コードのコピー方法

コード右上のアイコンをクリックすることでコピーできます。

それでは本文へ、レッツゴー!

月別・年別アーカイブの出力方法

サイドバーなど、一覧を出力したい場所に下記をコピペするだけで完成です。

<ul>
	<?php wp_get_archives('post_type=post&type=monthly&show_post_count=1'); ?>
</ul>

アーカイブはliタグに囲まれた状態で出力されるため、ulタグを準備しておく必要があります。

post_typeで投稿タイプを選択

取得する投稿タイプを選択します。

投稿タイプ…?はて…?

と思った方は気にしなくてOK
カスタム投稿を覚えた時に「ああ、これか〜!」となります。

typeで月ベースか年ベースかを選択

typeは年別アーカイブか、月別アーカイブかを選択する場所です。

サンプルは monthly なので月別です。

年別に変更したい場合は yearly に変更する。

年別一覧の場合

<ul>
	<?php wp_get_archives('post_type=post&type=yearly&show_post_count=1'); ?>
</ul>

show_post_countで投稿の件数を表示するか選択

2048年8月(16)

のような、よく見かける年月の後ろに投稿の件数を表示するかどうかを選択できます。

1が表示で0が非表示です。
サンプルでは表示しています。

投稿の件数もリンクに含めたい場合

このままだと、2048年8月の部分のみがリンクになっており、(16)の部分はリンクに含まれていません

投稿件数もリンクに含めたい場合、下記をfunctions.phpにコピペするだけでOKです。

<?php

add_filter( 'get_archives_link', 'my_archives_link' );
function my_archives_link( $output ) {
	$output = preg_replace('/<\/a>\s*( )\((\d+)\)/','($2)</a>',$output);
	return $output;
}

?>