当传入的URL是一个查询时,WP在哪个函数中开始使用它?

时间:2012-05-01 作者:Gregory

我需要调试一个过滤器的问题。它们影响任何包含查询的url;例如,http://my.domain.hk/?attachment=1. 有人知道WP在哪个函数中开始使用这种url,即包含查询的url吗?

干杯,格雷戈里

1 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

任何不指向实际存在的文件/目录的url都会(通过.htaccess)重定向到index.php 在WordPress安装的根目录中。

index.php 实际加载WordPress及其设置等。然后调用函数wp();, 负责初始化WordPress对请求的实际处理。

wp() 只不过是包装纸而已wp-class class. 特别是main() 方法:

function main($query_args = \'\') {
    $this->init();
    $this->parse_request($query_args);
    $this->send_headers();
    $this->query_posts();
    $this->handle_404();
    $this->register_globals();
    do_action_ref_array(\'wp\', array(&$this));
}
Theparse_request() 方法转换请求(处理相当长的永久链接、内部重写和额外参数-i.e. interpreting ?attachment=1) 进入\'query_vars\' (与查询有关的变量)。这个query_posts() 方法,然后将其转换为实际WP_Query 对象(全局$wp_the_query$wp_query - 哪些是initialised in wp-settings.php).

结束

相关推荐