WordPress:wp_list_categories()使用時に投稿数もリンク内に含める方法

WordPress:wp_list_categories()使用時に投稿数もリンク内に含める方法

備忘録。
リンク付きカテゴリーリストを簡単に表示することができるwp_list_categories()ですが、デフォルトでは投稿数を表示する部分はリンク内には含まれない状態で表示されます。
それを投稿数もリンク内に含めた状態で表示させる方法です。

テーマファイルに直接記述していく方法もありますが、今回は個人的に使用することが多いと思うfunctions.phpを使用して実装する方法です。
実装には下記をfunctions.phpに記述し、記述後にソースを確認すると投稿数の部分もリンク内に含まれているのを確認できます。

functions.php

add_filter( 'wp_list_categories', 'my_list_categories', 10, 2 );
function my_list_categories( $output, $args ) {
  $output = preg_replace( '/<\/a>\s*\((\d+)\)/', ' ($1)</a>', $output );
  return $output;
}

投稿数を表示する部分を特定のタグで括りたいという場合は、先ほどの記述を下記のように変更すれば実装できます。
下記は投稿数をspanでマークアップした場合の記述例になるので、span以外のものを使用する場合はハイライト部分を変更してください。

functions.php

add_filter( 'wp_list_categories', 'my_list_categories', 10, 2 );
function my_list_categories( $output, $args ) {
  $output = preg_replace( '/<\/a>\s*\((\d+)\)/', ' <span>($1)</span></a>', $output );
  return $output;
}

この方法は、以下フォーラムで紹介されていたものです。

Close the search window,
please press close button or esc key.