我有分类法location
. 除一个术语外,所有术语均应区别对待。这就是为什么我有两个php文件
分类位置。php国家分类位置。php现在,我想让URL搜索引擎优化友好。
如果URL=示例。com/localdeals/national,我想将其重定向到分类位置national。php
如果URL=示例。com/localdeals/%任何其他术语%,我想将其重定向到分类位置。php
基本上,我不想在中写入上述文件的名称。htaccess。我想以某种方式重用默认的WordPress规则。
i、 WordPress已经指导了示例。com/?位置=国家和示例。com/?位置=波士顿正确。我想在这些规则的基础上添加新规则,并希望重用它们。
有可能吗?
最合适的回答,由SO网友:Stephen Harris 整理而成
请注意,url重写并不直接决定使用的模板。一个漂亮的url被解释为一个查询,然后该查询根据template hierarchy.
所以只需要一条规则:
example.com/localdeals/myterm => example.com/?location=myterm
WordPress将查找模板
taxonomy-location-myterm.php
并使用它(如果存在)或以其他方式回退到
taxonomy-location.php
要在注册分类法时添加上述规则,请执行以下操作:
register_taxonomy(\'location\',\'post\',array(
\'hierarchical\' => false,
...
\'query_var\' => true,
\'rewrite\' => array( \'slug\' => \'localdeals\' ),
...
));
(更改这些规则后,您需要刷新这些规则一次-如果这是针对插件/主题的,则仅在激活/取消激活时刷新)。否则,只需访问设置>永久链接页面,它们就会被刷新:)。