Wordpress源码分析 三阶段详解(2)

  本文的侧重点是:展示和解读WordPress从启动(即从index.php入口进入)到在网页上展示模板和内容的过程。这个过程可以分为3个阶段,一是初始化阶段,即初始化常量、环境、加载核心文件等等;二是内容处理阶段,即根据用户的请求调用相关函数获取和处理数据,为前端展示准备数据;三是主题应用阶段,在这个阶段,需要展示的数据已经准备完毕,需要根据用户的请求加载相应的主题模板,即对主题进行路由。经过这三各阶段,用户请求的页面就可以完全的展现出来了~_~

  注:为了是思路更加的清晰易懂,暂时不考虑后台管理相关的文件,以及多博客/站点相关的文件!

  初始化阶段


  从 WordPress入口(大部分情况下是index.php)进入,到这部分结束为止,我们看到WordPress主要做了如下几件事情:定义常量和全局 变量;设置环境参数;进行初始化判断(例如WordPress是否已经安装);加载WordPress核心文件;处理action和filter相关事 务;创建功能对象(如$wp,$wp_rewrite等);因而这一阶段可以看作是WordPress的初始化阶段。WordPress的初始化阶段是一 个相当繁琐的过程,详细见如下列表:

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

  

  内容处理阶段

 


 

  在这一阶段,调用wp()函数对数据库内容进行查询,并将查询的内容赋值给一些全局变量,方便在模板中使用模板标签获取相应的数据并展示在前端。

 

  1.调用 wp() 函数。

  

 

  主题应用阶段

 

 


 

  WordPress主题的路由和加载主要在 WPINC/template-loader.php 文件中进行,该文件相当于是一个模板加载的路由器,根据 url 加载相应的模板。

 

 

  1.如果 WP_USE_THEMES 常量为真,则触发挂载点 do_action(‘template_redirect’);

 

  模板路由完成以后,被调用的模板会被加载,模板中的模板标签也会访问在内容准备阶段所设置的全局变量,获取所需的数据,并且将这些数据输出到模板中,最终完成样式+内容在前端的显示!

Wordpress源码分析 三阶段详解(2)

上一篇:C#多线程3种创建Thread、Delegate.BeginInvoke、线程池


下一篇:namecheap教程