【问题标题】:wordpress custom rewrite rulewordpress 自定义重写规则
【发布时间】:2017-11-09 03:29:14
【问题描述】:

我正在尝试使自定义重写规则起作用,但目前它不起作用。也许有人可以帮忙?

我想要的语音网址如下所示:domain/the-brand/xyz

domain/?pagename=brand-2&brand=xyz 是工作网址...

我已经在functions.php中添加了一个自定义标签:

function custom_rewrite_tag() {
  add_rewrite_tag('%brand%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);

还有一个自定义规则,但是好像有错误:

function custom_rewrite_rule() {
    add_rewrite_rule('/the-brand/([^/]*)' , 'index.php?pagename=brand-2&brand=$matches[1]', 'top');
}
add_action('init', 'custom_rewrite_rule', 10, 0);

【问题讨论】:

  • “似乎有错误。” -- 这到底是什么错误?

标签: php wordpress .htaccess mod-rewrite


【解决方案1】:

看起来你做对了,你只是想刷新你的永久链接as noted here

请注意,这些规则通常在 init 钩子中调用。 此外,需要刷新永久链接(您可以这样做 在重写之前从您的管理员下的设置>永久链接) 更改将生效。需要一次性使用 flush_rules() 生效。另请参阅激活时刷新重写。

【讨论】:

    【解决方案2】:

    试试这个:

    add_rewrite_rule('^the-brand/([^/]*)/?' , 'index.php?pagename=brand-2&brand=$matches[1]', 'top');

    【讨论】: