WordPress 网站系统加载过程

2018-07-03 0 By admin

WordPress 系统是单入口文件系统,它的入口文件就是 index.php。当系统接受到请求后,统一会由 index.php 文件接受,进行响应处理。
WordPress 系统在接受到请求后,会经过一些列的处理,最终将结果返回给客户端。这一系列的处理过程可以分为:初始化阶段、内容处理阶段和主题应用阶段。

一、WordPress 整个框架协调过程

WordPress 网站系统的入口文件和请求处理的三个过程统一调用的文件说明。

1.1、index.php 入口文件

系统入口文件 index.php 。其中只有两行代码:

define('WP_USE_THEMES', true);  
//加载wp-blog-header.php  
require('./wp-blog-header.php'); 

该常量定义为false时,不使用主题,站点会显示为空白,为true时,则正常显示。

1.2、blog-header 加载系统的变量和模板

if ( !isset($wp_did_header) ) {  
    $wp_did_header = true;//设置为true,确保只执行一次。  
    require_once( dirname(__FILE__) . '/wp-load.php' );  
    wp();   
    require_once( ABSPATH . WPINC . '/template-loader.php' );  
}
  1. wp_did_header变量,相当于一个flag,确保每次刷新时,wp-blog-header.php文件只执行一次。
  2. 系统初始化阶段:加载wp-load.php 文件;其中会加载 wp-config.php、wp-setting.php 文件;生成系统需要变量、类、函数。
  3. 内容处理阶段:wp(); 这个函数在 function.php 文件中定义,创建 WordPress 查询。
  4. 主题应用阶段:加载 template-loader.php 文件,使用系统设置的主题渲染页面结果。

二、系统初始化阶段

初始化阶段的作用是:初始化系统常量、环境变量、加载必要的核心文件等。

2.1、wp-load 设置ABSPATH 常量和加载 config 文件

wp-load.php 文件用于设置 ABSPATH常量 和加载 wp-config.php文 件。wp-config.php 将会加载wp-settings.php文件,该文件将设置WordPress环境。

2.2、wp-config 配置信息和加载 settings 文件

wp-config.php 文件设置的配置信息包括:MySQL设置、密钥、数据库表名前缀、ABSPATH;和加载 settings.php 文件。

2.3、settings 网站环境构建的入口文件

wp-settings.php 文件用于设置和修复网站系统的公共变量;加载网站的功能库和Class类库。

三、内容处理阶段

内容处理阶段的作用是:接受用户的访问请求、将请求信息进行解析和数据处理;为前端展示准备好数据。

四、主题应用阶段

到了主题应用阶段时,系统已经准备好响应数据;需要根据系统使用的主题模板,生成和渲染出页面。