index.php 统一入口文件

包含wp-blog-heaer.php

包含wp-load.php

包含wp-config.php

数据库、语言包配置等

包含wp-setting.php

  1. 对各种运行环境做兼容性处理
  2. 定义路径常量等
  3. 载入公共函数,类
  4. 初始化公用对象(数据库等)
  5. 魔术引用处理

运行wp();

  1. 初始化
  2. 发送HTTP头信息
  3. post (文章数据)查询,这里很关键,整个wp站的post 数据都是通过这里查询的。

包含template-loader.php

根据页面类型载入不同的模板页面文件

——————————————————————————————————————————

我们可以看出整个WordPress的程序结构 是很特别的,也不象一些普通的面向过程,也不是MVC,总之就是他自己的程序结构。

在模板前面的程序基本上都是公共处理,但是把post的查询的逻辑处理放在公共处理中。因为整个WordPress的页面基本上都有查询post。

其它的逻辑操作基本上是在模板中调用的(比如评论),所以它的模板并不是单纯的V,可以算是C+V。

wordpress程序系统文件夹的结构及作用:

http://www.xuewangzhan.net/?p=544

WordPress数据库的基本构造:

http://www.xuewangzhan.net/?p=542

WordPress程序流程分析的更多相关文章

  1. uboot学习之uboot-spl的程序流程分析

    uboot-spl的程序流程主要包含下面的几个函数: _start->reset->save_boot_params->cpu_init_crit->lowlevel_init ...

  2. 01 . Go框架之Beego简介部署及程序流程分析

    Beego简介 beego是一个使用Go语言来开发WEB引用的GoWeb框架,该框架起始于2012年,由一位中国的程序员编写并进行公开,其目的就是为大家提供一个高效率的web应用开发框架.该框架采用模 ...

  3. stm32 usb数据接收与数据发送程序流程分析

    http://blog.csdn.net/u011318735/article/details/17424349 既然学习了USB,那就必须的搞懂USB设备与USB主机数据是怎么通讯的.这里主要讲设备 ...

  4. HTC VIVE SDK 中的例子 hellovr_opengl 程序流程分析

    最近Vive的VR头盔设备很火,恰逢项目需求,所以对 SDK 中的例子 hellovr_opengl 做了比较细致的代码分析,先将流程图绘制如下,便于大家理解. 在ViVe头盔中实现立体效果的技术核心 ...

  5. gsoap框架下的onvif程序流程分析

    SOAP_FMAC5 int SOAP_FMAC6 soap_serve(struct soap *soap) { do { unsigned int k = soap->max_keep_al ...

  6. 通过官方API结合源码,如何分析程序流程

    通过官方API结合源码,如何分析程序流程通过官方API找到我们关注的API的某个方法,然后把整个流程执行起来,然后在idea中,把我们关注的方法打上断点,然后通过Step Out,从内向外一层一层分析 ...

  7. u-boot 流程分析

    u-boot 介绍: 对于计算机来说 , 从一开始上机通电是无法直接启动操作系统的 , 这中间需要一个引导过程 , 嵌入式Linux系统同样离不开引导程序 ,  这个启动程序就叫启动加载程序(Boot ...

  8. thttpd和cgilua安装与运行流程分析

    安装 参考如下博文安装thttpd软件 http://blog.csdn.net/21aspnet/article/details/7045845 http://blog.csdn.net/drago ...

  9. 从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)

      退出Activity注册Android遍历   目录(?)[+] 前言 知识结构 具体方案 方案1 方法采用FLAG_ACTIVITY_CLEAR_TOP退出整个程序多activity 方案2 方 ...

随机推荐

  1. Delphi-Copy 函数

    函数名称 Copy 所在单元 System 函数原型 1  function Copy ( Source : string; StartChar, Count : Integer ) : string ...

  2. day05

    1.递归 利用递归实现阶乘(1*2*3*4*5*6*7) def func(num): if num == 1: return 1 return num * func(num-1) x = func( ...

  3. Python自动化运维之18、Python操作 MySQL、pymysql、SQLAchemy

    一.MySQL 1.概述 什么是数据库 ? 答:数据的仓库,和Excel表中的行和列是差不多的,只是有各种约束和不同数据类型的表格 什么是 MySQL.Oracle.SQLite.Access.MS ...

  4. 前端面试题第一波,要offer的看过来~

    一.HTML常见题目 01.Doctype作用?严格模式与混杂模式如何区分?它们有何意义? 02.HTML5为什么只需要写<!DOCTYPE HTML>? 03.行内元素有哪些?块级元素有 ...

  5. 关于后台数据库正常存储中文通过Ajax方式传递到前台变成问号的处理

    我的一个程序,用到的后台数据库MySql,字段是Varchar,Character Set是utf8,字段能且已经正确存储了中文. 从数据库取出信息后,在后台Java代码里Debug看到正确的中文. ...

  6. TableView_编辑 实例代码

    @interface MJViewController () <UITableViewDataSource, UITableViewDelegate> { NSMutableArray * ...

  7. JAVA与C#关于JSON序列化的比较

    JAVA CODE: import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java. ...

  8. LeetCode_ 4 sum

    Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = tar ...

  9. 通过示波器分析TypeB卡通讯数据

    这几天,使用NFC芯片模拟了一张TypeB的cpu卡,在调试过程中,因为要检查射频性能,所以用示波器抓取了RFID读卡器和TypeB CPU卡之间的通讯数据.READER发送的数据位106K ASK调 ...

  10. Local System、Local Service與Network Service

    CreateService参数介绍SC_HANDLE CreateService( SC_HANDLE hSCManager, //服务控制管理程序维护的登记数据库的句柄,由系统函数OpenSCMan ...