当サイトのカテゴリリストでこんな感じでレイアウトしたい場合のメモ。
<ul> <?php wp_list_categories('orderby=count&order=desc&show_count=1&title_li='); ?> </ul>
上記コードの「show_count=1」が投稿数を表示させるコード
これだと投稿数は「例:カテゴリ名(◯)」という表示になって、投稿数部分はリンク領域にならない。
理想としては
・当個数を囲うカッコ()は消したい
・投稿数もリンク領域にしたい
・投稿数部分に個別にclassをつけてcssでいじりたい。
add_filter( 'wp_list_categories', 'my_list_categories', 10, 2 ); function my_list_categories( $output, $args ) { $output = preg_replace('/<\/a>\s*\((\d+)\)/',’ <span class="number">$1</span></a>',$output); return $output; }
これで抽出されるカテゴリリストのHTMLは以下のようになるので、カテゴリ名と投稿数を個別にcssで調整することができる。
<ul> <li><a href="">カテゴリ名</a><span class="number">投稿数</span></li> </ul>
例:カテゴリID「5」を除外したい場合
<ul> <?php wp_list_categories('orderby=count&order=desc&show_count=1&title_li=&exclude=5'); ?> </ul>
※複数のカテゴリを除外したい場合は「,」で区切るだけ。(例はカテゴリID5と1と2を除外)
<ul> <?php wp_list_categories('orderby=count&order=desc&show_count=1&title_li=&exclude=5,1,2'); ?> </ul>