ブログのサイドバーとかで、アーカイブのセレクトボックスを設置した際に、年別アーカイブだと、「2020」とか表示されてちょっと物足りない感じ。できれば「2020年」とか表示された方がいいんじゃないかと思い、表示方法を調べてみた。
【年別アーカイブをセレクトボックで表示するコード】
<select name="archive-dropdown" onChange='document.location.href=this.options[this.selectedIndex].value;'>
<?php wp_get_archives (array(
'type' => 'yearly',
'format' => 'option',
'show_post_count' => '0'
));
?>
</select>
「年」という文字を表示させたい場合は、functions.phpに以下を追加
function add_nen_year_archives( $link_html ) {
$regex = array (
"/ title='([\d]{4})'/" => " title='$1年'",
"/ ([\d]{4}) /" => " $1年 ",
"/>([\d]{4})<\/a>/" => ">$1年</a>"
);
$link_html = preg_replace( array_keys( $regex ), $regex, $link_html );
return $link_html;
}
add_filter( 'get_archives_link', 'add_nen_year_archives' );