zoukankan      html  css  js  c++  java
  • 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’);

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

  • 相关阅读:
    POJ 1502 MPI Maelstrom
    BNUOJ4359 无爱编号
    BNUOJ 6727 Bone Collector
    SAP成都研究院郑晓霞:Shift Left Testing和软件质量保证的一些思考
    聊聊C语言和ABAP
    小技巧:不用任何媒体处理软件进行视频压缩
    如何处理Docker错误消息:please add——insecure-registry
    如何处理Docker的错误消息request canceled:Docker代理问题
    推荐一个高大上的网易云音乐命令行播放工具:musicbox
    Windows下使用python库 curses遇到错误消息的解决方案
  • 原文地址:https://www.cnblogs.com/phpCHAIN/p/3296588.html
Copyright © 2011-2022 走看看