Categories widget show empty?

时间:2011-02-26 作者:Evan Yeung

有没有一种方法可以在wordpress附带的categories小部件中显示所有类别。我不想编辑核心文件,也不想重写小部件,但如果需要,我会这样做。是否有任何方法可以挂接小部件以获得此功能。

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

我不知道你说的“显示所有类别”是什么意思,我想它默认会这样做?

无论如何。。。可以使用以下过滤器挂钩将其挂钩:

  • widget_categories_args
  • widget_categories_dropdown_args
两个钩子都传递查询参数以获取作为数组的类别。

默认值为array(\'orderby\' => \'name\', \'show_count\' => $c, \'hierarchical\' => $h), 其中$c$h 是布尔值,表示用户是否分别在小部件的选项中选择了“显示帖子计数”和“显示层次结构”。

下拉版本获取另一个值:$cat_args[\'show_option_none\'] = __(\'Select Category\');, 设置“未选择”状态的标签。

您可以将相同的回调挂接到两个过滤器,这样无论Show as dropdown 是否选中。

顺便说一句:WP现成的小部件在中定义wp-includes/default-widgets.php, 其中的代码可读性很强。

SO网友:Bainternet

simple answer:

add_filter( \'widget_categories_args\', \'mytheme_widget_cat_args\' );
function mytheme_widget_cat_args($cat_args) {
    // the default for "hide_empty" = 1, so
    $cat_args[\'hide_empty\'] = 0;
    // we can override any other defaults here too
    return $cat_args;
}
结束

相关推荐

Qlate显示带有GET_CATEGORIES()的空类别

我正在使用qtranslate (Wordpress Plugin) 在网站上,我不想显示不包含某一语言帖子的类别。所以当我这么做的时候get_categories() (不带qtranslate)隐藏没有帖子的类别。但是当他们有一种语言的帖子而不是另一种语言的帖子时,他们会以两种语言显示。我知道这是一个插件相关的。非常感谢任何想法/解决方案。