使用自定义固定链接结构时,自定义分类的类别页面显示404

时间:2011-10-23 作者:Nathan

当使用自定义永久链接时,我对自定义分类法的类别页面有一个小问题,我想知道是否有人能够帮助我指出我的错误所在。

我已经创建了一个分类“Brands”,用于自定义帖子类型(在本例中为Products),使用函数中下面的代码。主题的php文件。我已经为Brands页面创建了一个页面模板,它使用wp\\u list\\u categories($args)模板标记列出了所有品牌,这很好。

现在,如果我使用Wordpress的默认永久链接设置(在这里,您可以获得以?page\\u id=7结尾的URL,以及类似的设置),单击列表中的任何品牌,就会进入一个类别页面,其中列出该品牌的所有产品,这正是我的意图。但是,如果我设置了任何其他自定义永久链接结构(例如/xyz/%postname%/),当您单击品牌名称时,我会得到404页,而不是类别页(在Wordpress admin中查看列表时,单击查看品牌时也会发生同样的情况)。

使用定制的永久链接结构,单击品牌时,似乎使用了正确的url结构(http://www.siteroot.com/brands/brandname/)显示404页时。使用默认的永久链接设置,它将转到http://www.siteroot.com/?brand=brandname, 这是正确的。

我查看了各种定制分类法的指南,并试图非常小心地设置分类法的重写,现在我对问题所在感到困惑。任何帮助都将不胜感激。

add_action( \'init\', \'build_taxonomies\', 0 );

function build_taxonomies() {  

register_taxonomy(
    \'brand\',
    \'products\',
    array(
    \'labels\' => array(
        \'name\' => \'Brands\',
        \'singular_name\' => \'Brand\',
        \'search_items\' => \'Search Brands\',
        \'popular_items\' => \'Popular Brands\',
        \'all_items\' => \'All Brands\',
        \'parent_item\' => \'Parent Brand\',
        \'parent_item_colon\' => \'Parent Brand:\',
        \'edit_item\' => \'Edit Brand\',
        \'update_item\' => \'Update Brand\',
        \'add_new_item\' => \'Add New Brand\',
        \'new_item_name\' => \'New Brand Name\'
        ),
        \'hierarchical\' => true, 
        \'public\' => true,
        \'show_ui\' => true,
        \'sort\' => true,
        \'query_var\' => true,  
        \'args\' => array(\'orderby\' => \'term_order\'),
        \'rewrite\' => array(\'slug\' => \'brands\', \'with_front\' => false)
    )
);
}

4 个回复
SO网友:brenjt

添加flush_rewrite_rules(); 注册分类之后。这为我解决了问题。

Edit

如果在插件上使用插件,请确保在插件安装时执行此操作。It should only be run once on pug-in activation - and not on every page load. 或者访问设置>永久链接页面,因为这也会刷新规则。

SO网友:xmarcos

如果您使用带有前基座的permalinkg结构,请确保with_fronttrue.

  \'rewrite\' => array(
            \'slug\'          => \'brands\',
            \'with_front\'    => true
  )

SO网友:Travis Pflanz

我可能离这里很远(这是一个老问题),但您是否碰巧使用了WP No Category Base 插件?或者你过去在这个网站上有过吗?

我发现当我禁用插件时,我会得到与您描述的结果相似的结果。

我也有一个单一的类别列表“找不到帖子”的问题。

我从来没有找出问题的原因,但我解决了它。My method is posted on the WordPress.org forums.

SO网友:Rodrigo D\'Agostino

最终对我起作用的是在定义分类法属性时更改一个值。如果您设置\'rewrite\' => false, 这样就不会给您带来任何问题,您甚至可以将永久链接设置为您想要的任何内容,而不会给您的自定义分类带来任何麻烦:)

结束

相关推荐