WordPressの年アーカイブリストで、年の追加、投稿数をaタグ内に入れるコード

Wordpress

WordPressの月アーカイブだと投稿数が少なすぎる場合、年アーカイブリストを使うのですが、いろいろ使いづらい部分を改良するコードを紹介します。

不便な所

  • wp_get_archives();を使用
  • 年アーカイブに「年」の文字を付与
  • 記事カウント数をリンクタグ内に入れる
  • 記事カウントのかっこ()を取り、spanタグを追加

コード

functions.phpに以下のコードをコピペ

function filter_to_archives_link( $link_html, $url, $text, $format, $before, $after ) {
  if ( 'html' === $format ) {
      $output = preg_replace('/.*\((\d+)\)/','$1',$after);
    $link_html = "<li>$before<a href='$url'>$text"."年 "."<span>$output</span></a></li>\n";
  }
  return $link_html;
}
add_filter( 'get_archives_link', 'filter_to_archives_link', 10, 6 );

表示該当箇所にwp_get_archiveを追加

<ul>
<?php
$args = array(
    'type'            => 'yearly',
    'limit'           => '5',
    'format'          => 'html', 
    'before'          => '',
    'after'           => '',
    'show_post_count' => true,
    'echo'            => 1,
    'order'           => 'DESC',
    'post_type'     => 'post'
);
wp_get_archives( $args );
?>
</ul>
タイトルとURLをコピーしました