問題 × 解決策

wp_get_archivesで該当の年にクラス「on」を付与する

問題

wp_get_archivesで該当の年にクラス「on」を付与するには?

解決策

「get_archives_link」をフックして出力内容を書き換えることで該当の年にクラス「on」を付与することができます。

 

年ごとのアーカイブと年別リストを連動させる。

年ごとのアーカイブの時にwp_get_archivesで出力したリストの該当の年にクラス「on」を付与する方法をご紹介します。

「get_archives_link」をフックする。

「get_archives_link」をフックすることで、該当の年にクラス「on」を付与することができます。
調べていて、以下のページを見つけたことで実現することができました。

functions.phpに以下を記述します。

function my_archives_link($link_html){
  global $post;
  if(preg_match_all('@<a .*>([0-9]+)</a>@i', $link_html, $matches))
    if(get_query_var('year') == $matches[1][0])
      $link_html = preg_replace('@<li>@i', '<li class="on">', $link_html);
	return $link_html;
}
add_filter('get_archives_link', 'my_archives_link');

引用:[WordPress]wp_get_archives(‘type=yearly’)した時のカレントclassの付与方法 | Web活メモ帳

参照

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

two × 2 =

「問題 × 解決策」
月別アーカイブ一覧

「問題 × 解決策」
月別アーカイブ一覧