• 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’);

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

  • 相关阅读:
    PHP_SELF、 SCRIPT_NAME、 REQUEST_URI 区别
    用canvas画弧形进度条
    sass/scss 和 less的区别
    vue-router 知识点记录
    vue-cli中全局组件的注册使用
    传统项目转前端工程化——路由跳转时出现浏览器锁死和白屏【该死的同步ajax】
    亲身实践 yui-compressor压缩js和css
    vue-webpack 做出来的项目部署到服务器上,点开是空白页(我这里把项目发布到git上)
    git相关
    对象中的方法积累
  • 原文地址:https://www.cnblogs.com/phpCHAIN/p/3296588.html
Copyright © 2020-2023  润新知