我想看看这是否可行,但我想在WordPress categories小部件中包含自定义帖子类型自定义分类类别。
我知道有一个过滤器,如下所示:
add_filter(\'widget_categories_args\', function() {
$params[\'post_type\'] = array(\'post\', \'recipe\');
return $params;
});
我的分类法叫做
recipe-categories
在…内
wp_term_taxonomy
我希望能够在categories小部件中引入所有类别。
recipe
是我的自定义帖子类型。Url字符串为taxonomy=recipe-categories&post_type=recipe
以下是我拥有的所有类别:
我得到的只是post
类别而非我的recipe
类别如下:
SO网友:Sally CJ
widget类使用wp_list_categories()
支持所有parameters 对于get_terms()
喜欢taxonomy
您可以使用它在分类法中创建小部件列表类别,而不是category
.
因此,您的代码是:
add_filter(\'widget_categories_args\', function( $params ) {
// $params[\'post_type\'] = array(\'post\', \'recipe\'); // post_type is not a standard parameter for get_terms()
$params[\'taxonomy\'] = \'recipe-categories\';
return $params;
});
但是,该小部件仅支持单个分类法,因为
wp_list_categories()
使用
taxonomy_exists()
它不支持多种分类法。以下是中的相关代码
wp_list_categories()
导致限制的原因:
if ( ! taxonomy_exists( $parsed_args[\'taxonomy\'] ) ) {
return false;
}
因此,如果您想使用多个分类法,那么您需要一个插件(即提供类似小部件的插件),或者您可以编写自己的小部件类。