【发布时间】:2015-03-26 00:50:56
【问题描述】:
我已经疯狂地用谷歌搜索这个问题,但似乎找不到这个问题的不太过时的答案或真正有效的答案。
我的问题就像这个人在这个论坛帖子中描述的一样(从 4 年前,神圣的 4 年前!): https://wordpress.org/support/topic/duplicate-subcategory-slug-problem
我目前正在使用最新版本的 Wordpress 4.1,我想要实现的是:
假设我的网站上有 2 个类别,分别称为 Boots 和 Shoes。 在它们中,我想创建一个名为 Red 的类别。这就是我的类别结构的样子:
- Boots // -> URL: http://example.com/boots
| ----- Red // -> URL: http://example.com/boots/red (GREAT!)
- Shoes // -> URL: http://example.com/shoes
| ----- Red // -> URL: http://example.com/shoes/red-shoes (cmon, wp, nooo !)
我想达到什么时候,是这样的:
- Boots // -> URL: http://example.com/boots
| ----- Red // -> URL: http://example.com/boots/red
- Shoes // -> URL: http://example.com/shoes
| ----- Red // -> URL: http://example.com/shoes/red
这样就完美了!!!
如果您想知道,是的,我知道这只是 wordpress 的一部分,他们不希望改变它,我理解为什么以及所有这些爵士乐,是的。 但是对于这个特定的项目,我真的需要这个。
我想我可能不得不更改核心,如果我这样做,我将无法更新 Wordpress,我知道,但如果我需要,我对此没有任何问题。
但是,如果有另一种方法来构成这个层次结构,它不涉及类别并且不会破坏我的 URI,我也可以尝试。感谢任何帮助或提示,非常感谢!
【问题讨论】:
-
类别嵌套会比
shoes/red更深吗(例如shoes/red/running)?如果没有,您可以尝试将颜色实现为EP_CATEGORIES或EP_ALL_ARCHIVES的重写端点。 codex.wordpress.org/Rewrite_API/add_rewrite_endpoint -
它可能会更深入,是的。但是,假设它没有。如果我使用这种方法,我将不得不添加这样的一行,对每种颜色使用 add_rewrite_endpoint ,对吗?感谢您的快速评论,顺便说一句:)
-
是的,每一种颜色。将颜色选择范围缩小到最少也可以让您和网站用户更轻松。 ;) 请记住,您需要使用
template_include、template_redirect、pre_get_posts或类似的钩子来读取端点并相应地过滤您的帖子。 -
@ojrask 您能否稍后将其发布为答案?我现在正在做其他事情,但我稍后会尝试一下。如果它按预期工作,我会将您的回答视为已接受。非常感谢:)
标签: php wordpress categories slug