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

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

WBOY
Freigeben: 2016-06-13 13:09:08
Original
978 Leute haben es durchsucht

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

}

?>
Nach dem Login kopieren

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


我们这里默认已经安装了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');
Nach dem Login kopieren

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage