我在这个问题上进行了广泛的搜索,发现其他人遇到了类似问题,但没有解决方案可以解决我的问题。
情况如下:
*我创建了一个带有slug'events'的自定义帖子类型
*我创建了一个带有'事件'的页面
*我已将子页面添加到活动页面(第一级孩子)
*我已将子页面添加到这些子页面(二级孩子)
*永久链接结构设置为/%category%/%postname%/
*我没有使用任何插件或自定义代码来处理自定义帖子类型
*当我导航到/ events /时,使用pages.php模板加载页面
*当我导航到/ events / first-level-child /我得到404
*当我导航到/ events / first-level-child / second-level-child /页面使用page.php模板加载时很好。
*当我导航到/ events / category-name /时,使用archive.php模板加载页面。
问题是我在尝试使用与自定义帖子类型相同的slug查看页面的第一级子页面时获得的404.
我不能选择重命名任何一个slu,以便它们不同。我需要找到一种方法来使子页面和类别按照预期的“事件”页面工作。我无法在.htaccess文件中为子页面创建自定义重定向,因为客户端必须能够自己创建它们。
有没有办法修改WordPress生成的重写规则来实现我的目标?或者是否可以使用一个可以帮助的插件?我猜测WordPress期望第二个uri段是一个类别名称。如果没有找到类别,有没有办法让它查找具有该名称的页面?
答案 0 :(得分:0)
这里的解决方案似乎是为自定义帖子类型定义一个自定义分类,其中一个slug不同于post类型本身的slug。
在这种情况下,帖子类型的slug是' events'分类的slu is是事件/类别'。这样做可以显示子页面以及帖子的类别。