我可以有两个不同父母的同名子页吗?

时间:2015-03-27 作者:Paul

我有两页新的。山歌。com/澳大利亚/姐妹会-新。山歌。com/hills/姐妹情谊

这两个页面都显示了/hills/sisterhood网站的内容,但它们是不同的页面,内容不同。我似乎在网上找不到关于这件事的任何信息。这可能吗?有没有什么方法可以让这一切顺利进行。

谢谢你的帮助!保罗

4 个回复
SO网友:Fayaz

Yes, you can.

在过去,这是不可能的(从其他答案可以明显看出)。然而,现在这是可能的。

WordPress现在允许来自不同父级的子页面(任何层次结构的帖子类型)具有相同的slug/name。这是可能的,因为现在WordPress考虑整个层次结构树(父子组合)进行唯一性检查。

因此,现在可以使用以下页面URL:

example.com/parent-1/child
example.com/parent-2/child

SO网友:Tom J Nowell

No, at the time of writing this, no you cannot. 一旦一个slug被一个页面使用,它就不能被其他页面使用。它也不能被其他帖子使用,无论帖子类型如何

WP-Core上有一个Trac票证,它试图解决这个问题,这样一个slug就可以被post类型重用,但这仍然只允许您使用一次页面slug。你能做你想做的事的机会充其量是微乎其微的,而最坏的情况是微乎其微的。

最接近这一点的方法是通过重写规则界面添加一个/姐妹关系/端点,这将允许您在存在姐妹关系端点时更改页面的内容。然而,这个端点只是,一个端点,它不是一个包含post meta和内容的页面,它只是同一个页面,但有一个端点(在这种情况下,您仍然在澳大利亚页面上,您可以选择显示不同的内容)

重写规则和端点不适合胆小的人,如果您对此感兴趣,我建议您提出以下问题:

“如何添加页面终结点?我正在尝试向页面添加姐妹关系终结点,以便显示不同的模板。如何添加终结点,然后加载不同的模板?”

确保链接到此处,并将新的问题链接也放在此处

SO网友:Eoin H

我知道这是一篇老帖子,但值得一提的是思想(对于像我这样在搜索引擎中找到它的人来说)。。我使用的是一个定制的Permalinks插件。(https://wordpress.org/plugins/custom-permalinks/).

我已经在大约30个客户端网站上使用这个插件多年了,从来没有遇到过问题,它可以让你创建几乎任何你喜欢的url。。如果您有两个或多个以/sisterhood/结尾的URL,那么无论slug是什么,它都可以做到这一点,而不会出现任何问题。

SO网友:Mark Kaplun

最简单的方法是不使用页面,而是为“hills”和/或“australia”创建一个新的帖子类型。这可能是一个PITA,但你需要了解帖子类型和slug的组合应该是唯一的(这样做的原因是为了让你在不必更新全部内容的情况下更改permalink结构)。

您似乎需要考虑的另一个选项是使用具有子目录结构的多站点安装。这取决于“australia”和“hills”部分的不同程度,以及是否必须对所有内容进行聚合,如本地搜索。

最复杂的选择是编写自己的url解析。例如,签入函数。如果在加载任何模板处理代码之前,url是“hills/sisterhood”,则使用php,并将查询替换为可以服务于所需特定页面的查询。这里的问题是很难缩放,您可能需要找到一个解决方案来为页面生成适当的永久链接,例如在站点地图中使用。

结束

相关推荐

Get_Pages()仅返回一项

我试图使用get\\u pages()列出特定父页面的子页面,以便在短代码中使用。不幸的是,只显示了一个页面,尽管还有很多页面需要显示。// List Vocations function get_vocations_list() { $args = array ( \'parent\' => \'753\', \'sort_column\' => \'menu_order\', \'so