カテゴリ一覧を出力する時、wp_list_categories()
という関数で'show_count' パラメータを true にすると投稿数を表示できますが、デフォルトではリンク(aタグ)の外に出力されてしまい、色々と不便。
とうことで、今回はこの投稿数をリンクの中、つまりaタグの内側に出力させる方法についてメモしていこうと思います。
目次
functions.phpでwp_list_categories関数をカスタマイズする
以下のコードを functions.php の任意の場所に記述してください。
wp_list_categoriesをカスタマイズするコード
function my_list_categories( $output, $args ) {
$output = preg_replace('/</a>s*((d+))/',' ($1)',$output);
return $output;
}
add_filter( 'wp_list_categories', 'my_list_categories', 10, 2 );
my_list_categories()
という関数を作成し(名前は任意です)、wp_list_categories
アクションにフックさせます。
正規表現を用いて、</a>(投稿数数)
というHTML文字列を(投稿数)</a>
に置き換えています。
get_categories関数やWP_Term_Queryを使用する
functions.php をいじるのは怖いなぁという方は、カテゴリ一覧の出力をwp_list_categories()
以外の方法でやってしまいましょう。
get_categories()
という関数や、WP_Term_Queryというのを使用すると、簡単に投稿数をaタグ何にしてカテゴリ一覧を表示できます。
これらの使用方法については以下の記事にまとめていますので、是非ご覧ください。
WordPressでカテゴリー・タグ・タクソノミーのタームを全取得して一覧表示する方法【WP_Term_Query / ge...
今回は、カテゴリー・タグ・カスタムタクソノミーのターム情報を全て取得する方法をまとめていこうと思います。 サイドバーやフッターに、「カテゴリー一覧」や「タグ一...