自定义导航漫游菜单-显示类别计数

时间:2015-04-01 作者:Chipsed

我有一份定制的步行菜单。(参见下面的代码)

我希望我的导航菜单如下所示:

enter image description here

其中495是包含儿童的记录总数。

其中发表文章42篇。

有人能帮我实现这个吗?这是我当前自定义的导航助行器代码。

<?php
class accordion_Menu_Walker extends Walker_Nav_Menu {
   function start_el(&$output, $item, $depth, $args) {
        global $wp_query;  
        $count_category = \'\';
     if($item->object == \'publishings\')  { 
        $cat_id = $item->object_id;
        $count_category = get_terms(\'publishings\', \'fields=count\');
   }           
        $indent = ( $depth ) ? str_repeat( "\\t", $depth ) : \'\';

        $class_names = $value = \'\';
        $classes = empty( $item->classes ) ? array() : (array) $item->classes;
        $classes[] = \'menu-item-\' . $item->ID;

        $class_names = join( \' \', apply_filters( \'nav_menu_css_class\', array_filter( $classes ), $item, $args ) );
        $class_names = \' class="\' . esc_attr( $class_names ) . \'"\';

        $id = apply_filters( \'nav_menu_item_id\', \'menu-item-\'. $item->ID, $item, $args );
        $id = strlen( $id ) ? \' id="\' . esc_attr( $id ) . \'"\' : \'\';

        $output .= $indent . \'<li\' . $id . $value . $class_names .\'>\';

        $attributes  = ! empty( $item->attr_title ) ? \' title="\'  . esc_attr( $item->attr_title ) .\'"\' : \'\';
        $attributes .= ! empty( $item->target )     ? \' target="\' . esc_attr( $item->target     ) .\'"\' : \'\';
        $attributes .= ! empty( $item->xfn )        ? \' rel="\'    . esc_attr( $item->xfn        ) .\'"\' : \'\';
        $attributes .= ! empty( $item->url )        ? \' href="\'   . esc_attr( $item->url        ) .\'"\' : \'\';

        $item_output = $args->before;
        $item_output .= \'<a\'. $attributes .\'>\';
        $item_output .= $args->link_before . apply_filters( \'the_title\', $item->title, $item->ID ) . $args->link_after;
        $item_output .= \'(\' . $count_category  . \')\';
        $item_output .= \'</a>\';
        $item_output .= $args->after;

        $output .= apply_filters( \'walker_nav_menu_start_el\', $item_output, $item, $depth, $args );
    }
}
?>
我用于分类的代码:

add_action( \'init\', \'prowp_publishing_taxonomy\' );
function prowp_publishing_taxonomy() {
    $labels = array(
        \'name\'              => \'Категории\',
        \'singular_name\'     => \'Категория\',
        \'search_items\'      => \'Найти Категорию\',
        \'all_items\'         => \'Все категории\',
        \'parent_item\'       => \'Родительская категория\',
        \'parent_item_colon\' => \'Родительские категории:\',
        \'edit_item\'         => \'Редактировать категорию\',
        \'update_item\'       => \'обновить категорию\',
        \'add_new_item\'      => \'Добавить новую категорию\',
        \'new_item_name\'     => \'Новое название категории\',
        \'menu_name\'         => \'Категории\'
    );
    $args =array(
        \'labels\'       => $labels,
        \'hierarchical\' => true,
        \'query_var\'    => true,
        \'rewrite\'      => true
    );
    register_taxonomy( \'type\', \'publishings\', $args );
}
请帮帮我。

显示我的当前结果:

enter image description here

1 个回复
SO网友:Nicolai Grossherr

我想你应该用wp_list_categories(), 它甚至有计数的参数,例如。show_countpad_counts. 此外,它还支持通过walker 参数,但walker将基于Walker_Category - source -, 这为您提供了所需的所有其他样式选项。

结束

相关推荐

Walker类:在理解如何正确调用walk()方法方面存在问题

我正在努力理解WordPress如何使用Walker类。特别是,我不明白walk() 方法(我认为)。首先,让我解释一下我的理解:呼叫时wp_nav_menu(), 可以添加一个数组作为参数,其中包含信息/选项,如深度、容器、主题位置、要使用的walker等。在…内wp_nav_menu(), 这些参数与默认值合并。生成的数组(稍后转换为对象)调用$args.在…内wp_nav_menu(), walk_nav_menu_tree() 正在调用,正在接收$sorted_menu_items, $args-