JOURNAL クリエイティブとマーケティングの話

【WordPress】カテゴリー/アーカイブリスト投稿数からカッコを削除してaタグの中に入れる方法

WordPressのカテゴリーリストやアーカイブリストには、投稿数を表示することができます。

しかし数字がカッコで囲まれていたり、aタグの外にあったりしてスタイルの調整がしづらいです。

ということで今回は、カテゴリーリストやアーカイブリストに表示される投稿数からカッコを削除し、aタグの中に入れ込んでしまう方法をご紹介します。

カテゴリー/アーカイブリスト投稿数からカッコを削除してaタグの中に入れる方法

テーマ内のfunctions.phpに追記してください。

/* 投稿数のカッコを削除してaタグの中に入れる
---------------------------------------------------------- */
function posts_count( $posts_count ) {
	$posts_count = preg_replace('/<\/a>.*\((\d+)\)/', '<span class="posts_count">$1</span></a>', $posts_count);
	return $posts_count;
}
add_filter( 'wp_list_categories', 'posts_count' );
add_filter( 'get_archives_link',  'posts_count' );

preg_replaceを使って、デフォルトで出力される「aタグの閉じタグとカッコと数字(投稿数)」の部分を数字をaタグの中に入るように置き換えています。

wp_list_categoriesとget_archives_linkは、カテゴリーリストとアーカイブリストを取得するための関数です。

まとめ

以上、カテゴリーリストやアーカイブリストに表示される投稿数からカッコを削除し、aタグの中に入れ込んでしまう方法でした。

デフォルトの状態だとカッコはCSSで消しようがないのですが、この方法だと出力されるソース自体変更できるので便利かと思います。