下記のように指定していて、なぜか’show_count’だけが効きません。他は効いています。
functions.php
class MyWalker extends Walker_Category {
function start_el(&$output, $category, $depth, $args) {
extract($args);
$cat_name = esc_attr( $category->name );
$link = '<a href="%1$s" rel="%2$s">%3$s</a>';
$link = sprintf($link
, esc_attr( get_term_link($category) )
, $category->slug
, $cat_name
);
if ( !empty($show_count) ){
$link .= ' (' . intval($category->count) . ')';
}
if($category->category_parent > 0 ){
$output .= '<li class="'.$class.'">'.$link;
}
if($category->category_parent == 0){
$output .= '<div><h1>'.$cat_name.'</h1>';
}
}
function end_el( &$output, $page, $depth = 0, $args = array() ) {
if ( 'list' != $args['style'] )
return;
if($depth > 0){
$output .= "</li>\n";
}else{
$output .= "</div>\n";
}
}
}
template
$MyWalker = new MyWalker();
$args = array('walker' => $MyWalker,'echo' => 0,'show_count' => 1);
$result = str_replace(array( '<li class="categories">カテゴリー<ul>'),'',wp_list_categories($args));
echo rtrim( $result,'</ul></li>');
nobitaさん
何度もありがとうございます。
開閉式(アコーディオン式)メニューのプラグインが既にあったのですね。
もっと真剣に探すべきだと反省しました。
質問させていただく時の心がけとして最初から全ての詳しい情報を
出したほうがよいというのも学習しました。
プラグインは試していませんが、
教えていただいたコードで完璧にやりたいことが実現しました。
カテゴリ名の部分をカウント数も含めて置換してしまっているので
カウントがある場合には新たにカウント数を表示するよう
指定し直さなくてはいけなかったのですね。
納得しました。
これで解決とさせていただきます。
本当にありがとうございました。