カテゴリ一覧を出力する時、wp_list_categories()という関数で'show_count' パラメータを true にすると投稿数を表示できますが、デフォルトではリンク(aタグ)の外に出力されてしまい、色々と不便。

とうことで、今回はこの投稿数をリンクの中、つまりaタグの内側に出力させる方法についてメモしていこうと思います。

目次

function.phpでwp_list_categories関数をカスタマイズする

以下のコードを function.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を使用する

function.php をいじるのは怖いなぁという方は、カテゴリ一覧の出力をwp_list_categories()以外の方法でやってしまいましょう。

get_categories()という関数や、WP_Term_Queryというのを使用すると、簡単に投稿数をaタグ何にしてカテゴリ一覧を表示できます。

これらの使用方法については以下の記事にまとめていますので、是非ご覧ください。

[WordPress]カテゴリー・タグ一覧表示!タクソノミーに登録している全ターム情報を取得する方法まとめ[WordPress]カテゴリー・タグ一覧表示!タクソノミーに登録している全ターム情報を取得する方法まとめ
- Thank you for reading. -

コメント

コメントする