【问题标题】:Custom Post Type is Breaking Page Hierarchy自定义帖子类型正在破坏页面层次结构
【发布时间】:2021-05-08 01:18:47
【问题描述】:

我有一个名为 Branches 的自定义帖子类型,它只显示我们公司多个分支机构的不同位置信息。分支的各个帖子位于/branch/individual-branch-post 下。

接下来,我有一个名为 Branch 的页面,我们在其中嵌套了一些子页面,其中仅包含静态信息,以及关于不同分支位置的信息。如果我尝试访问其中一个子页面,我会收到 404。

问题是我们需要/branch 与自定义帖子和子页面共存,因为它们都包含相同类型的信息。

我一直在网上搜索,但找不到解决方案。

【问题讨论】:

  • 如果我们能看到您如何创建自定义帖子类型,我们将能够更快地调试它!!!确保在创建“cpt”时,将'hierarchical' => true 设置为参数之一。

标签: wordpress advanced-custom-fields custom-post-type


【解决方案1】:

可能是页面的slug和自定义post类型的rewrite-slug有冲突。如果您在注册自定义帖子类型时设置了 has_archive => true 并且存在具有相同 slug 的页面,则会发生此错误。尝试将 has_archive 设置为 false 并通过设置刷新永久链接(“设置 > 永久链接”)。

参考:https://wordpress.stackexchange.com/questions/135146/resolve-a-custom-post-type-name-vs-page-permalink-conflict-same-slug


编辑:

我的错,我没有在您的问题中看到“共存”声明。我自己还没有找到一种方法来做到这一点,但我想你必须修改重写规则才能实现这一点。

我想知道:如果内容相似;为什么不使用 post 类型而不是 pages,然后使用内置的 archive.php 模板?

就像 Ruvee 提到的那样,您可以通过将“hierarchical”设置为 true 来将帖子类型设置为分层。然后帖子类型的“行为”将与页面的外观和感觉非常相似。

【讨论】:

  • 我在has_archive中添加=> false,父Branch页面显示正常但Branch页面下的任何子页面仍然是404
  • JontheNerd,我更新了我之前的答案。我没有在你的问题中看到“共存”的说法,很抱歉。尔格;我目前没有适合您的解决方案:/
  • 我们想出了一个解决方案(只是将那些静态页面构建为帖子类型)。谢谢!
  • 很高兴听到您找到了解决方案。周末愉快!
猜你喜欢
  • 2019-05-03
  • 2017-08-23
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-14
  • 1970-01-01
相关资源
最近更新 更多