我想你可以通过过滤器来完成这一点。查看核心wp
你会发现$public_query_vars
和$private_query_vars
由硬编码数组定义的变量。这些可能会通过全局$wp
对象,但如果深入一点,则会有一个筛选器,仅在解析请求时才允许从公共数组中删除项。以下是core的代码和文档:
/**
* Filters the query variables whitelist before processing.
*
* Allows (publicly allowed) query vars to be added, removed, or changed prior
* to executing the query. Needed to allow custom rewrite rules using your own arguments
* to work, or any other custom query variables you want to be publicly available.
*
* @since 1.5.0
*
* @param array $public_query_vars The array of whitelisted query variables.
*/
$this->public_query_vars = apply_filters( \'query_vars\', $this->public_query_vars );
那是在
parse_request()
因此,此时从数组中删除有问题的变量应该可以阻止查询字符串工作,而不会破坏任何内容。请记住,我还没有测试过任何一个理论,我可能在这里完全不正确。祝你好运
如果这要么不起作用,要么不是您想要处理的方式,那么您需要使用。htaccess重定向以完成此操作。