简明现代魔法 -> WordPress -> WP 代码分析:wp-blog-header.php
WP 代码分析:wp-blog-header.php
2010-03-12
<?php
/**
* Loads the WordPress environment and template.
* 加载 WordPress 环境和模板
* @package WordPress
*/
if ( !isset($wp_did_header) )
{
$wp_did_header = true;
// 加载 wp-load.php
require_once( dirname(__FILE__) . '/wp-load.php' );
// 加载 function wp();
wp();
// 加载模板文件
require_once( ABSPATH . WPINC . '/template-loader.php' );
}
?>
通过 wp-load.php,wordpress 先后把 wp-config.php,wp-setting.php,classes.php,fucntions.php, query.php 等文件加载进来,并建立了三个全局变量,$wp_the_query,$wp_rewrite 和 $wp,分别为 WP_Query、 WP_Rewrite 和 WP 类的实例。然后 wp-blog-header 执行 wp() 函数,并通过其调用 $wp 所属 WP 类的 main 方法, 这个方法又调用一系列方法,但最重要的是 parse_request 方法,WP 从这里开始解析 URL 并建立主循环。
这是这个文件大致起的作用,后面我们会继续深入 wp-load.php、template-loader.php 还有 wp() 方法,去研究 WordPress 的运行机制。
