Wordpress add_rewrite_rule重定向无参数

时间:2016-01-08 22:25:29

标签: php regex wordpress .htaccess redirect

我想重定向自定义网址,例如文档中的示例here

EX:http://domain.com/find/324http://domain.com/?text=324

这是代码,出于某种原因,它会将我重定向到主页,而不使用参数" text"在URL ..

function custom_rewrite_basic() {
  add_rewrite_rule('find/(.+)/?', 'index.php?text=$matches[1]', 'top');
}
add_action('init', 'custom_rewrite_basic');

" text"参数不是WoprPress函数的内置版本,我将使用它与我的自定义代码。

我刷新了链接缓存,仍然没有参数重定向到主页。

我失踪了什么?

1 个答案:

答案 0 :(得分:0)

您无法直接添加自定义查询变量。必须使用query_vars过滤器添加自定义查询变量,以便在规则中进行解析。您可以添加自定义查询变量,如下所示。

function wpd_add_query_vars( $qvars ) {
  $qvars[] = 'text'; //I used the one in your example
  return $qvars;
}
add_filter( 'query_vars', 'wpd_add_query_vars' );

然后你会得到这样的查询变量:

get_query_var('text')

查看https://wordpress.stackexchange.com/questions/271931/add-rewrite-rule-parameter-is-not-received-by-the-page?rq=1了解更多详情。