强制WordPress忽略w url参数

时间:2013-09-26 13:44:15

标签: php wordpress-plugin wordpress

说,我在example.com运行了一个WordPress安装,并有以下网址

http://example.com/blah?w=100

现在,我希望WordPress忽略w = 100部分,因为每次我将数字参数传递给w时,WordPress会将我重定向到单页,我认为这与附件有关。

我无法将w重命名为其他任何内容,因为它不受我的控制,我的网站必须使用不会让我改变这种情况的第三方应用程序。

我试过这个

add_filter('request', array($this,'on_request'));
function on_request($vars){
  unset($vars['w']);
  return $vars;
}

它不起作用 - 对此有任何建议吗?

2 个答案:

答案 0 :(得分:3)

我会小心这种方法。 w参数是WordPress reserved query variable。该参数用于根据设置中的start_of_week选项查找周数,并可能影响一堆查询。

如果您无法像上面提到的那样更改参数,我会尽可能地检查请求是否来自该第三方提供商,然后才取消参数设置。

答案 1 :(得分:1)

好吧,我自己解决了。

add_filter( 'request', 'alter_the_query' );
function alter_the_query( $request ) {
    $dummy_query = new WP_Query();  // the query isn't run if we don't pass any query vars
    $dummy_query->parse_query( $request );    
    unset($request['w']);
    return $request;
}