当我添加/编辑帖子时,我可以更改永久链接的slu ..但我无法添加斜线。 所以假设我有
http://domain.com/myslug
但我需要
http://domain.com/myslug1/myslug2
当我保存时
http://domain.com/myslug1myslug2
我怎样才能克服这个?
答案 0 :(得分:0)
当您访问某个页面时,假设domain.com/careers
,WordPress必须确定要从数据库中检索哪个帖子。
它会查看所有重写规则,并尝试找到与请求匹配的规则。在这种情况下,最后一条规则将捕获它:
[(.?.+?)(/[0-9]+)?/?$] => index.php?pagename=$matches[1]&page=$matches[2]
它会将careers
($matches[1]
)作为pagename
值传递,相应地进行剖析,然后在数据库中查找名为careers
的帖子。
当您访问名为domain.com/careers/internships
的网页时,最后一条规则将再次适用。这次它将传递careers/internships
,相应地剖析它,将帖子的父级设置为careers
,然后在数据库中查找与父级匹配的名为internships
的帖子。 / p>
如果WordPress允许你将slug设置为myslug1/myslug2
,那么WordPress会做出一些假设是错误的。
myslug1
myslug2
myslug1/myslug2
slug 所有这一切,仍然可能实现你想要的东西,但也许不会妨碍弥补slu ..必须有一种模式,某种规则,你可以给WordPress说“if x,then y”。
例如,你可以有一个带有输入字段的元框,无论何时你在其中输入内容,该slug都会出现在URL的末尾。或者也许你可以在domain.com
和myslug2
之间夹住一个自定义的slu ..
以下是一些要研究的内容:
另一种方法可能是创建一个包含myslug1
的父页面,然后创建一个包含myslug2
的子页面。或者,根据您的需要,您还可以查看custom post types。您可以拥有一个名为myslug1
的自定义帖子类型,然后在其中发帖,其中一个帖子为myslug2
。
如果您有关于实施上述任何一项的具体问题,请查看Stack Overflow或如果找不到答案,请发布详细信息。