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

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

WBOY
Release: 2016-06-13 13:09:08
Original
996 people have browsed it

二.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' );

}

?>
Copy after login

由上面代码我们可以把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 {
        //安装代码,由于不研究安装,暂不写了
}
Copy after login


我们这里默认已经安装了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');
Copy after login

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template