类别基础不起作用(永久链接)

时间:2014-10-14 22:07:16

标签: php wordpress

我使用以下设置将永久链接设置为Custom Structure/postCategory/%category%/%postname%/。 我还将Category Base设置为postCategory。 这不会奏效。当我访问帖子页面时,我找不到页面。

这会产生:

for posts: example.org/postCategory/%category%/%postname% // this will output page not found
for categories: example.org/postCategory/%category% // this works

仅当我对Category Base使用相同的字词并在帖子网址中使用前缀时(这种情况下为postCategory),这不起作用。

所以这不起作用:

Custom Structure: /postCategory/%category%/%postname%/
Category Base:  postCategory

这将有效:

Custom Structure: /postCategory/%category%/%postname%/
Category Base:  postCategories

所以我的问题是如何才能完成这项工作。为Category Base和永久链接提供相同的字词。

这些是我的永久链接设置:

http://pokit.org/get/img/8a33b710bf98f9e3658edaaf8343cc3b.jpg

修改

我在这里发现了类似的东西:

https://wordpress.stackexchange.com/questions/58471/including-category-base-in-a-post-permalink-results-in-404

但是我真的不明白如何为我的案例设置这个函数“add_rewrite_rule”:

我的自定义帖子类型存在此问题:“产品”和自定义分类:“product_cat”,并希望将“vaporizers”用于类别库和“product”的永久链接

所以这是我期望的永久链接设置:

http://pokit.org/get/img/bad3b8bea220768b60bb73d49657974a.jpg

类别的结果应该是:

www.example.com/vaporizers/product_cat_name

对于产品:

www.example.com/vaporizers/product_cat_name/product_name

1 个答案:

答案 0 :(得分:0)

它不起作用的原因是因为类别库内部重写规则在永久链接结构规则中优先(即类别重写在重写之前)。所以example.org/postCategory/%category%被解释为example.org/index.php?category_name=postCategory/%category%,显然,WordPress无法找到这样的类别,返回404页面。它在类别失败后永远不会搜索帖子。

唯一的解决方法是为一个类别或帖子提供一个基础...就像在你身上一样“这将起作用”的例子。他们必须是不同的,别无他法。