Home >Backend Development >PHP Tutorial > 2.wp-blog-header.php文件分析(一)

2.wp-blog-header.php文件分析(一)

WBOY
WBOYOriginal
2016-06-13 13:09:08978browse

二.wp-blog-header.php文件分析(一)
前一章我们知道,index文件只做了声明一个确认加载的常量,之后就是包含wp-blog-header文件

//wp-blog-header.php所有内容
<?php

if ( !isset($wp_did_header) ) {

         //确认访问header
         	$wp_did_header = true; 
   
         //"./wp-load.php"
         	require_once( dirname(__FILE__) . '/wp-load.php' );

	wp();
         
         //"./wp-include/template-loder.php"
	require_once( ABSPATH . WPINC . '/template-loader.php' );

}

?>

由上面代码我们可以把wp-blog-header.php分为三部分。
1.加载当前目录下的wp-load.php文件
2.调用wp()函数
3.加载wp-include目录下的template-loder.php文件

我们逐步分析,先从wp-load.php开始,这个文件也非常简单,上来设置根目录和错误报告的方式,再然后就是包含wp-config.php这个文件了。


define( 'ABSPATH', dirname(__FILE__) . '/' );    //wordpress根目录

//看根目录下的wp-config.php文件存在否,在就包含,没再就会对去掉根目录常量中的'/'并重新包含,再找不到可就进入安装页面了。
if ( file_exists( ABSPATH . 'wp-config.php') ) {

      require_once( ABSPATH . 'wp-config.php' );

} elseif ( file_exists( dirname(ABSPATH) . '/wp-config.php' ) && ! file_exists( dirname(ABSPATH) . '/wp-settings.php' ) ) {

      require_once( dirname(ABSPATH) . '/wp-config.php' );

} else {
        //安装代码,由于不研究安装,暂不写了
}


   我们这里默认已经安装了wordpress,所以程序应顺利加载了wp-config.php这个文件了,这文件里是数据库的配置信息和身份密钥,再有就是丫又加载了wp-include目录下的wp-setting.php文件。
   
//数据库信息和身份密钥就略过了
//看吧,明明在wp-load.php文件下定义了根目录常量了,这里由于要加载wp-settings.php又做了次判断,以确保意外发生,我们要学习这种严谨的编程习惯。
if ( !defined('ABSPATH') )
	define('ABSPATH', dirname(__FILE__) . '/');

/** 设置 WordPress 变量和包含文件。 */
require_once(ABSPATH . 'wp-settings.php');

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn