wp_list_categories + widget

时间:2015-05-26 作者:kiarashi

使用下面的代码,我添加了一个span标记,并将类别计数放置在链接中。

add_filter(\'wp_list_categories\', \'cat_count_span\');    
function cat_count_span($links) {       
    $links = str_replace(\'</a> (\', \'<span>\', $links);
    $links = str_replace(\')\', \'</span></a>\', $links);
    return $links;    
}
我遇到的问题。。。此修改将应用于使用wp_list_categories. 我想得到相反的效果。该代码应仅适用于我的自定义类别小部件。

我需要做什么改变才能按我希望的方式工作?

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

您的小部件必须具有如下所示的方法:

public function widget( $args, $instance ) {
    echo $args[\'before_widget\'];
    if ( ! empty( $instance[\'title\'] ) ) {
        echo $args[\'before_title\'] . apply_filters( \'widget_title\', $instance[\'title\'] ). $args[\'after_title\'];
    }
    wp_list_categories();
    echo $args[\'after_widget\'];
}
在该方法中应用筛选器,然后将其删除:

public function widget( $args, $instance ) {
    echo $args[\'before_widget\'];
    if ( ! empty( $instance[\'title\'] ) ) {
        echo $args[\'before_title\'] . apply_filters( \'widget_title\', $instance[\'title\'] ). $args[\'after_title\'];
    }
    add_filter(\'wp_list_categories\', \'cat_count_span\'); 
    wp_list_categories();
    remove_filter(\'wp_list_categories\', \'cat_count_span\'); 
    echo $args[\'after_widget\'];
}
同样的事情也适用于后端form 方法

参考文献:
https://codex.wordpress.org/Widgets_API#Example

结束

相关推荐

Parent and child categories

下面是a的一部分WP_Query 环我有两个父类别ABC和12,每个都有几个子类别。在第一个td 我想让ABC儿童频道的slug类和12个儿童频道的slug类。该职位可能属于两个子类别之一,或同时属于两个子类别。一个来自ABC,一个来自12,或者一个来自ABC,一个来自12。$inCat = get_the_category(get_the_ID()); echo \"<td>\".(!empty($inCat[0]->slug) ? $inCat[0]->slu