WordPressのカテゴリー一覧のリンク内に投稿数を表示させる方法

WordPressのウィジェット内のカテゴリー一覧表示には wp_list_categories を使い表示させます。liのリストタグに各カテゴリーへのリンクが出力されますが、array のカスタマイズで投稿数の表示も可能です。ここにCSSでデザイン変更などをするのですが、liのリスト内ではリンクタグと投稿数の文字が分かれており、オンマウスオーバーの装飾が難しくなります。このリンク内に投稿数も含まれたら大分デザイン処理が楽になるので、ググって調べると下記のようなソースを発見!とても助かりました。念の為、メモしておきます。

<ul>
<?php 
$string = wp_list_categories(array(
				'title_li' =>'',
				'show_count' => 1,
				'echo' => 0
			));
$string = preg_replace('/<\/a> (\([0-9]*\))/', ' $1</a>', $string);
echo $string;
?>
</ul>

より詳しく知りたい方は「 WordPress(ワードプレス)カテゴリー一覧表示で、投稿数もリンク内に出力する | 福島県郡山市のホームページ制作、Web制作 Kyasper Web Design キャスパーウェブデザイン」さんのサイトで確認してください。とても勉強になり助かります。参考までにどうぞ!

ついでなのでアーカイブの部分も同じように投稿数を表示させようとしたのですが、なぜかうまくいかず、悩みながらもググると同じく「 WordPress 月別アーカイブ一覧で、投稿数もリンク内にいれるときの落とし穴 | 福島県郡山市のホームページ制作、Web制作 Kyasper Web Design キャスパーウェブデザイン」さんのサイトで対処法が載っていました。同じこと考えるのですね!(^^;

<ul>
<?php
	$string = wp_get_archives(array(
		'show_post_count' => 1, 
		'echo' => 0
	));
	echo preg_replace('/<\/a>&nbsp;(\([0-9]*\))/', ' $1</a>', $string);
?>
</ul>

確かに正規表現の置き換えは「力技」ではあります。もっとスマートな方法がないか探してみます。

関連記事