[WordPress]wp_get_archives(‘type=yearly’)した時のカレントclassの付与方法


20121017 05

WordPressで日付を表示する際に年の一覧を表示する事が出来るとおもいますが
現在表示している年にclassを追加する方法を調べたので自分用にメモです。

年の一覧は以下のコードで表示しています。

wp_get_archives('type=yearly')

これ、wp_list_categoriesだと簡単にcurrent-catというclassが付与されるのですが、wp_get_archives(‘type=yearly’)だとclassが追加されないんですね。

対応方法として、以下のコードをfunction.phpに追加すればOKです。

IT/WEB業界への転職なら求人サイトGreen

function my_archives_link($link_html){
 	if(preg_match_all('@([0-9]+)@i', $link_html, $matches)) {
		if(get_query_var('year') == $matches[1][0]) {
			$link_html = preg_replace('@
  • @i', '
  • ', $link_html); } elseif (is_single()) { global $post; if(date('Y' , strtotime($post->post_date)) == $matches[1][0]) { $link_html = preg_replace('@
  • @i', '
  • ', $link_html); } } } return $link_html; } add_filter('get_archives_link', 'my_archives_link');
  • 以下のページを参考にさせていただきました。感謝!

     

    この記事が気に入ったら
    いいね!しよう

    最新情報をお届けします

    follow us in feedly