/**
* Loads the WordPress environment and template.
*
* @package WordPress
*/
上面这段内容是wp-blog-header.php文件的注释,大概意思是加载WordPress环境和模板。
他的代码很简单,首先使用变量 $wp_did_header 用来防止该文件被多次加载。接下来的代码分成三部分(
我把下面代码的注释都做了一下简单的翻译,方便大家的理解):
if ( !isset($wp_did_header) ) {
$wp_did_header = true;
// 引入wp-load.php文件,加载 WordPress环境(核心文件,类库之类的)
require_once( dirname(__FILE__) . '/wp-load.php' );
// 创建 WordPress 查询
wp();
// 引入template-loader.php文件,加载模板
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()
函数,这个函数会调用$wp
所属WP
类的main
方法, 这个方法又调用一系列方法,但最重要的是parse_request
方法,WP 从这里开始解析 URL 并建立主循环。 - 加载
wp-include
目录下的template-loder.php
文件,就是去加载 WordPress 模板了。
发表评论