子帖子的 URL 设计?
-
16-10-2019 - |
题
我目前有这个:
mysite.com/product-name
mysite.com/another-product
等等,其中产品名称和另一个产品是帖子。
然后,我有一个名为 Changelogs 的自定义帖子类型,我为每个产品都有该类型,是否可以具有类似以下的 url:
mysite.com/product-name/changelog
mysite.com/another-product/changelog
如果是这样,我将如何去做呢?
解决方案
没有这样的东西 “子帖子” 在已内置的WordPress中。
但是您可能创建一个正在介绍的插件 “子帖子” 以您描述它们的风格。
从技术上讲,您不是在谈论子插件,而是在谈论URL-Layout。因此,在WordPress中,您可以添加一个可以使用一些插件来处理的端点(“ ChangElog”),例如将显示为其他帖子。
一旦这与端点无法正常合作,但我认为现在已经解决了。还没有使用它很难使用,因此我的答案只有到目前为止提供信息。
有关的:
其他提示
完成上面的答案后,我可能会发现您可能会成功实现自己想要的东西,因为我首先考虑了在这个问题中写的答案:
我知道这个问题标题不会暗示您是相关的,但是问题本质上是关于 “ sub post” 信息类型和相关URL。
抱歉,直到我发布上面答案之后,我才想到。
你好 @亚当:
您可能知道所有 “帖子” 存储在同一数据库表中 “帖子”, “页面” 和任何自定义帖子类型。
我提到的是以前强调的 “帖子” 有 场 post_parent
可用的 我已经成功地使用了它来建立一个亲子关系,例如 'restaurant'
帖子类型和一个 'restaurant-location'
帖子类型。
但是,URL有点棘手,当涉及到我的狂热者 设计良好的URL 因此,您知道我会调查的很大。
我已经实施了与您要求的代码相似的代码(对于餐厅/位置示例),但是 非常脆弱 并有潜力 创造不必要的副作用 有了其他插件,我真的很担心将其发布在这里,实际上会给人们带来更多麻烦而不是帮助。
虽然一些更顽固的WordPress开发 trac 和 WP黑客列表 似乎不认为其他所有人都尝试将其用于其他模式以外的其他模式并发现它令人发指的其他所有模式都尝试将其用于其他模式。这就是为什么我提交 这张票 并希望在不久的将来有一些专门的时间来解决:
当前使用精心设计的URL太难了,充满危险,无法成为可行的选择。所以在短期内 我真的建议您使用标准URL布局 除非我有足够的空闲时间来解决它,否则其他人会改善WordPress的URL路由系统,甚至有人雇用我来修复它。
很遗憾 我知道这不是您要寻找的答案 但这是一个诚实而衷心的。
我有一段时间没有从事这个项目后又回到了这个项目,这就是我得到的:
就像我之前的例子一样:
mysite.com/product-name/changelog mysite.com/another-product/changelog
这些是帖子(类型为变更日志),实际的 slug 是产品名称变更日志
然后我使用重定向插件从
/([a-zA-Z0-9-]*)/changelog/$
到
/$1-changelog/
但它最终以 301 重定向到 mysite.com/product-name-changelog
我尝试过连接 wp_redirect 和 canonical_redirect,这样我就可以尝试停止重定向,但到目前为止没有任何运气。
还有什么建议可以尝试吗?