针对自定义分类和重用默认设置的新重写规则

时间:2012-05-10 作者:a_fan

我有分类法location. 除一个术语外,所有术语均应区别对待。这就是为什么我有两个php文件

分类位置。php国家分类位置。php现在,我想让URL搜索引擎优化友好。

如果URL=示例。com/localdeals/national,我想将其重定向到分类位置national。php

如果URL=示例。com/localdeals/%任何其他术语%,我想将其重定向到分类位置。php

基本上,我不想在中写入上述文件的名称。htaccess。我想以某种方式重用默认的WordPress规则。

i、 WordPress已经指导了示例。com/?位置=国家和示例。com/?位置=波士顿正确。我想在这些规则的基础上添加新规则,并希望重用它们。

有可能吗?

1 个回复
最合适的回答,由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\' ),
     ...
  ));
(更改这些规则后,您需要刷新这些规则一次-如果这是针对插件/主题的,则仅在激活/取消激活时刷新)。否则,只需访问设置>永久链接页面,它们就会被刷新:)。

结束

相关推荐