在类别中包括自定义帖子类型自定义分类小部件

时间:2020-02-16 作者:DevSem

我想看看这是否可行,但我想在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

    以下是我拥有的所有类别:

    enter image description here

    我得到的只是post 类别而非我的recipe 类别如下:

    enter image description here

  • 1 个回复
    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;
    }
    
    因此,如果您想使用多个分类法,那么您需要一个插件(即提供类似小部件的插件),或者您可以编写自己的小部件类。

    相关推荐

    Categories manage

    我正在尝试向CPT中添加特定类别,只有在添加新帖子时,您才能看到与这些帖子类型相关的类别。此外,我希望能够从后端添加类别,而不是从代码添加类别,因为我有很多类别将要更改。如果有一个插件可以做到这一点,那很好,但我也希望了解它是如何做到的。非常感谢