WordPress 内容处理阶段解析

2018-07-05 0 By admin

WordPress 的内容处理的作用是:接受用户的访问请求、将请求信息进行解析和数据处理;为前端展示准备好数据。
内容处理阶段由 blog-header 文件中调用 wp() 函数开始执行得;在内容处理阶段前,WordPress 系统已经将系统的环境初始化完成了;所以在内容处理阶段,可以直接调用需要类库、函数库和全局变量。

一、wp() 函数调用

wp() 函数在 functions.php 文件中定义;主要就是调用 $wp 实例中的 main() 函数。

public 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 ) );
}
  1. init() 函数:Set up the current user. 请求访问用户。
  2. parse_request() 函数:匹配请求重定向 Rewrite、判断访问白名单等,生成请求的具体信息。
  3. send_headers() 函数:发送 http headers 头信息,包括缓存信息和内容类型等。
  4. query_posts() 函数:根据请求信息,生成查询变量,创建查询循环Loop。函数会调用 $wp_the_query 实例,执行 query 方法,生成查询结果。
  5. handle_404() 函数:用于处理 404 not found 页面的情况。
  6. register_globals():设置全局变量,将 query_vars 属性中的查询信息,提取到全局变量中。