wordpress struction

WordPress 工作原理、程序文件执行顺序(世界的构成)

在尝试自定义一个属于自己的WordPress网站时,总是有个迷惑,其内核文件到底是按照什么顺序开始挂载PHP代码,是内核文件先执行(其中有调用函数)还是functions.php文件先执行(其中定义一系列的基本函数)。为了了解WordPress建站结构,明晰其中的工作原理,在此对其进行探索,并记录成文章。

WordPress首先前端页面生成开始在根目录下的index.php文件,这是通过Web服务器的rewrite规则实现的。当通过浏览器访问网页时,Web服务器会默认首先访问该URL下的index.php文件。然后通过index.php文件一步步引导WordPress环境启动(加载meta、预定义变量、预定义函数等),再分析请求URL返回相应数据所组成的前台页面。

第一步:载入index.php文件(一切的始端)

该文件关键源码如下:

第二步:载入wp-blog-header.php文件(一气化三清)

该文件关键源码如下:

说明1:对$wp_did_header进行赋值,确保这个代码块只运行一遍

说明2:加载根目录下wp-load.php文件,执行初始化工作,如初始化变量、环境、加载类库和核心代码等等,以搭建WordPress完整环境。例如,载入了wp-includes目录下的functions.php(函数库)、class-wp.php(类库)、plugin-php(插件)、pomo目录(语言包)、query-php(数据请求)、theme.php(主题文件)、post-template.php(文章模板)、comment.php(评论模板)、rewrite.php(URL重写)等等。

说明3:由于载入了wp-includes/functions.php文件,因此调用wp()函数。该函数用于执行内容处理的工作,根据用户的请求调用相关函数获取和处理数据,为前端展示准备数据。

说明4:加载根目录绝对路径下wp-includes目录中的template-loader.php文件,执行主体应用载入的工作,根据用户的请求载入主体模板。

WordPress用这三行代码构建页面:

  1. wp-load.php完成页面生成所需的所有环境、变量、API等载入的工作;
  2. wp()函数根据URL请求从数据库中取出相应的数据内容备用;
  3. template-loader.php把已经准备好的内容主题所设定的样式展示表现出来。

第三步:载入wp-load.php文件(第一清 – 世界的规则)

该文件初始化常量(有:定义绝对路径、设定功能文件及内容文件路径等),同时加载wp-config.php文件,部分核心代码:

本文件主要作用就是载入wp-config.php文件,因此可以“载入wp-config.php”抽象看做wp-load.php初始化的第一个小步骤。

一、载入wp-config.php文件

https://blog.csdn.net/u010822824/article/details/51967906