如何将自定义分类与自定义帖子类型挂钩,并使固定链接起作用?

时间:2011-12-09 作者:Kalle H. Väravas

所以

我用slug自定义了帖子类型/news. 我希望我的类别视图/news/category/CATEGORYID.

为此,我创建了自定义分类法:

add_action(\'init\', \'create_allfilmnews_categories\', 0);
function create_allfilmnews_categories() {
    $labels = array(
        \'name\' => _x( \'Categories\', \'taxonomy general name\' ),
        \'singular_name\' => _x( \'Category\', \'taxonomy singular name\' ),
        \'search_items\' =>  __( \'Search categories\' ),
        \'all_items\' => __( \'All category\' ),
        \'parent_item\' => __( \'Parent category\' ),
        \'parent_item_colon\' => __( \'Parent category:\' ),
        \'edit_item\' => __( \'Edit category\' ),
        \'update_item\' => __( \'Update category\' ),
        \'add_new_item\' => __( \'Add new category\' ),
        \'new_item_name\' => __( \'New category name\' ),
        \'menu_name\' => __( \'News categories\' ),
    );  

    register_taxonomy(\'news_category\', \'news\', array(
        \'hierarchical\' => true,
        \'labels\' => $labels,
        \'show_ui\' => true,
        \'query_var\' => true,
        \'rewrite\' => array( \'slug\' => \'category\' ),
    ));
}
我希望,既然它news 自定义帖子类型。。它的首字母是“category”,所以我希望它能像我想要的那样自然地工作(/新闻/类别/CATEGORYID)。只需在模板目录中创建一个文件,即可使用我的自定义类别模板:category-news_category.php.

然而,它当然不起作用。

甚至有可能有一个自定义的分类法aka。自定义帖子类型中的类别,与permalinks完美配合?

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

有两件事-我认为类别URL应该是:yourdomain。com/news\\u category/news-category-SLUG-HERE

因此,例如,如果您在“news\\u category”分类法中创建了一个类别“top Headings”。。。看起来是这样的(假设“头条新闻”的slug是“头条新闻”):

/新闻\\类别/头条新闻/

第二件事。。。我认为您的模板名称应该是“taxonomy-news\\u category.php”

(编辑为添加-我不认为你可以让slug成为“category”,因为WordPress已经在使用它了..因此这可能会导致本身的冲突…尽管我可能在这方面错了…)

结束

相关推荐

Custom permalinks

我们有一个自定义类型music./music/ /music/post-name/ 此外,我们还有一个类似标签的分类法genres. 其URL为:/music-genres/genre-name/ 我尝试创建如下URL:/music/ /music/post-name/ /music/genres/ /music/genres/genre-name/ /music-genres/ 应替换为/music/genres/.最后,我们应该得到如下url