您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程

wordpress工作逻辑分析

王封安2025-02-18WordPress教程已有人查阅

导读WP初始化的过程:当你输入/wordpress对wordpress进行初始化时,wordpress默认会找根目录下的index.php页面,看一下index.php页面。

WP初始化的过程:当你输入<yourlink>/wordpress对wordpress进行初始化时,wordpress默认会找根目录下的index.php页面,看一下index.php页面。
<?php
define('WP_USE_THEMES', true);
/** Loads the WordPress Environment and Template */
require('./wp-blog-header.php'); ---把/wp-blog-header.php包含进来
?>
你会发现,它会去调用根目录下的wp-blog-header.php,我们继续看wp-blog-header.php。
<?php
if ( !isset($wp_did_header) ) {
$wp_did_header = true;
require_once( dirname(__FILE__) . '/wp-load.php' ); ---加载wp-load.php
wp(); ---加载function WP();
require_once( ABSPATH . WPINC . '/template-loader.php' ); ---加载模板文件
}
?>
通过wp-load.php,wordpress先后把wp-config.php, wp-setting.php,classes.php,fucntions.php,query.php等文件加载进来,并建立了三个全局变量,$wp_the_query,$wp_rewrite和$wp ,分别为WP_Query,WP_Rewrite和WP类的实例。然后,wp-blog-header执行wp()函数,并通过其调用$wp所属WP类的main方法,这个方法又调用一系列方法,但最重要的是parse_request方法, WP从这里开始解析URL并建立主循环。
我们看一下wordpress的主方法:
function main($query_args = '') {
$this->init(); --初始化环境
$this->parse_request($query_args); --解析请求
$this->send_headers(); --发送头信息
$this->query_posts(); --查询日志
$this->handle_404(); --操作404(URL地址不存在)
$this->register_globals(); --注册全局变量
do_action_ref_array('wp', array(&$this));
}
这基本上就是wordpress初始化时的信息。
下面就讨论一下当我们设置自定义的长久链接时,wordpress的运作过程。
当我们使用了自定义的长久链接的时候,wordpress会自动生成.htaccess文件,并且在这个文件中生成相对应于长久链接的匹配规则,在wordpress/wp-includes/rewrite.php中有针对.htaccess文件的重写规则,其中$use_verbose_rules参数规定了输出信息的详尽和简约,默认的情况下为false。输出的信息比较简单,如下
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
如果想查看完整的匹配规则,就把$use_verbose_rules设置为true。
wordpress在对使用了自定义的长久链接进行处理时,它还是会调用wp-include/classes.php文件中的parse_request函数,对发过来的请求进行解析,无论是否为pathinfo类型的请求,都会被赋值给$request参数,然后调用该参数与.htaccess中的规则进行匹配,如果找到一个匹配就会“发送头信息”、“查询日志”,如果没有任何匹配就会返回404错误。

本文标签:

很赞哦! ()

相关源码

  • (自适应响应式)HTML5幕墙装饰工程建筑装修公司pbootcms模板下载基于PbootCMS开发的响应式模板,为幕墙工程、建筑装饰企业设计,通过数字化展示提升企业专业形象与项目展示能力。结构化数据标记增强项目案例收录,智能URL路由优化,支持每个工程案例独立设置关键词与描述查看源码
  • pbootcms模板(PC+WAP)APP应用软件下载类官网源码为APP应用软件官网打造的响应式解决方案,PC端与移动端(WAP)数据实时同步,一次更新全网生效,满足多终端用户无缝体验需求。查看源码
  • (自适应)个人图集图片相册画册pbootcms网站模板源码本模板基于PbootCMS系统开发,为图片展示类网站设计,特别适合个人作品集、摄影画册、艺术图集等内容展示。采用响应式布局技术,确保各类图片在不同设备上查看源码
  • 帝国cms7.5自适应手机端在线课程教育网站源码基于帝国CMS后台管理系统,支持在线修改支付参数、联系方式等配置信息,操作界面直观便捷。专注于在线教育视频领域,提供完整的视频课程展示、付费购买及在线支付解决方案。支持多种支付渠道,满足教育培训机构的运营需求。查看源码
  • (自适应响应式)动力刀座五金机械设备pbootcms网站源码下载为动力刀座及五金机械企业定制的响应式网站框架,基于PbootCMS系统深度开发,助力传统制造企业实现数字化转型升级。采用手工编写的DIV+CSS前端架构,代码执行效率提升40%。查看源码
  • (PC+WAP)蓝色弹簧针厂家探针充电连接器设备网站源码下载基于PbootCMS开发的响应式模板,为弹簧针、探针连接器等电子元器件企业设计。模板采用工业蓝主色调,突出产品技术特性,支持多维度展示连接器产品的规格参数与应用场景,帮助制造企业建立专业线上展示平台。查看源码
分享笔记 (共有 篇笔记)
验证码: