如何更改wordpress标头请求

时间:2010-04-08 21:19:27

标签: wordpress

让我们说我有一个表单可以在wordpress中搜索多个标签。

<input type="checkbox" name="my_tags[]" value="tag1" />
<input type="checkbox" name="my_tags[]" value="tag2" />

我想这样做,以便当我的插件看到my_tags []被设置时,它会重写请求

mysite.com/?tag=tag1+tag2

我知道使用add_query_arg来放入标记,并使用query_vars过滤器来允许我的参数被发送,但是我用什么钩住来获取在请求之后发送的参数,但在wp解析之前请求?

1 个答案:

答案 0 :(得分:0)

我的理解是你不会真正'替换'当前请求中的查询,而是形成一个新的请求URI并使用wp_redirect()重定向客户端并使用默认的302 Found状态代码。类似的东西:

wp_redirect( add_query_arg( array( 'tag' => implode( ' ', $_REQUEST['my tags'] ) ), bloginfo('url') ), 302);

显然,这种清理必须在发送标题之前发生。通过插件API将其挂钩的逻辑位置是parse_requestsend_headers操作。我的意思是,你在这里所做的就是解析一个请求并发送标题。 :P

我对.htaccess文件中的服务器重写几乎一无所知,所以也许你也可以探索它。

相关问题