【问题标题】:Custom rewrite rules on WordpressWordpress 上的自定义重写规则
【发布时间】:2018-06-12 09:36:08
【问题描述】:

我有以下 url 查询,它将参数 texas 和 County harris 添加到查询的永久链接中。这些是称为地理的自定义分类法的一部分。

xyz.com/dealers/honda/?geography=texas&geography=harris

如何在 wordpress 中将这个 url 改写为:

xyz.com/dealers/honda/texas/harris/

【问题讨论】:

  • 好吧,这在任何网站上都不起作用,因为你有两个同名的参数......实际上你想将底部 url 重写为顶部 url不是相反

标签: wordpress url-rewriting permalinks


【解决方案1】:

您可以在您的functions.php中执行以下操作:

add_rewrite_rule('^dealers/honda/([^/]*)/([^/]*)/?','index.php?geography=$matches[1]&geography=$matches[2]','top');

但是你应该注意你已经设置了两次地理,最后一个是要使用的。

您还需要导航到位于xyz.com/wp-admin/options-permalink.php 的永久链接页面,然后才能真正起作用,否则您将收到 404ish 错误。

【讨论】:

  • 感谢您的回复非常有帮助。有没有办法让本田充满活力,因为我有不同的品牌,比如丰田等...
  • 是的,把/honda/改成/[^/]+/
  • 再次感谢您,还有一个简单的问题,我将您上面的确切代码粘贴到我的 function.php 文件中以用于我的主题。你提到我需要导航到管理员永久链接,我这样做了,但是当我到达那里时我需要做什么才能完成这项工作?
  • 我刚刚注意到您的 wordpress 安装不在服务器的根目录下,因此它可能无法按照您想要的方式工作,因为 wordpress 需要为帖子、页面等重写模式。您可能需要考虑更改您到xyz.com/dealers/honda/geo/texas/harris/ 的路径,然后将代码更改为add_rewrite_rule('^dealers/([^/]*)/geo/([^/]*)/([^/]*)/?','/dealers/$matches[1]/index.php?geography=$matches[2]&geography=$matches[3]','top'); 请记住,我无法测试代码更改,因为我没有不在根目录下的wordpress 安装
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-10
  • 1970-01-01
  • 2011-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多