您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
wordpress工作逻辑分析
王封安2025-02-18WordPress教程已有人查阅
导读WP初始化的过程:当你输入
WP初始化的过程:当你输入<yourlink>/wordpress对wordpress进行初始化时,wordpress默认会找根目录下的index.php页面,看一下index.php页面。
我们看一下wordpress的主方法:
下面就讨论一下当我们设置自定义的长久链接时,wordpress的运作过程。
当我们使用了自定义的长久链接的时候,wordpress会自动生成.htaccess文件,并且在这个文件中生成相对应于长久链接的匹配规则,在wordpress/wp-includes/rewrite.php中有针对.htaccess文件的重写规则,其中$use_verbose_rules参数规定了输出信息的详尽和简约,默认的情况下为false。输出的信息比较简单,如下
wordpress在对使用了自定义的长久链接进行处理时,它还是会调用wp-include/classes.php文件中的parse_request函数,对发过来的请求进行解析,无论是否为pathinfo类型的请求,都会被赋值给$request参数,然后调用该参数与.htaccess中的规则进行匹配,如果找到一个匹配就会“发送头信息”、“查询日志”,如果没有任何匹配就会返回404错误。
<?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错误。
本文标签:
很赞哦! ()
相关教程
- (响应式)wordpress模板VieuV4.5主题资讯自媒体博客源码
- (响应式)WordPress主题Ripro9.0博客免扩展二开版
- (自适应多语言)WordPress开源主题MirageV资讯个人博客源码
- (自适应)WordPress主题SEO自媒体博客资讯模板RabbitV2.0
- WordPress主题模板JustNews资讯博客类源码V5.2.2
- (自适应)WordPress二次元博客主题Sakurairo
- 响应式WordPress简约博客主题Alt_Blog
- Wordpress博客新闻主题在线商店平台betheme 21.5.6版
- WordPress个人博客主题 - wp-Concise-v1.0免费下载
- WordPress主题模板主题巴巴/博客X主题源码免费下载
- MYcat实现wordpress库和shopxo库分库
- wordpress、Discuz产品部署示例
图文教程
WordPress模板标签不常用被遗忘的有哪些
自从WordPress出现以来,它就一直为我们提供了大量的模板标签。这些模板标签属于PHP功能,可以用来输出和取回一段数据。
wordpress自动升级失败手动升级的方法
之前wordpress那些事儿写了一篇关于《WordPress自动升级失败的原因》,主机限制、网络问题、DNS问题等各种问题都会造成Wordpress自动升级失败,自动升级失败解决的办法自然是手动升级Wordpress了。
wordpress后台打开慢的解决方法
1在插件中搜索 Disable Google Fonts,选择安装,然后启用2很多人不喜欢用插件那么这个可以修改代码打开/wp-includes/script-loader.php搜索fonts.googleapis.com找到代码位置
centos7搭建wordpress的方法教学
随着计算机技术的普及,搞IT的越来越多,但是随着深入你会发现自己上了贼船,真的是一如IT深似海,从此妹纸是路人啊,当你越来越接近自己想想中的目标是
相关源码
-
(自适应响应式)化妆美容口红唇膏化妆品模板pbootcms源码下载基于PbootCMS开发的响应式模板,为化妆品品牌、美容机构打造,通过优雅的视觉呈现提升产品展示效果与品牌调性。采用时尚杂志排版风格,色卡系统规范产品展示。微交互动画增强用户体验,智能推荐算法提升产品关联展示效果。查看源码 -
(自适应响应式)html5文章资讯新闻博客pbootcms网站模板下载本模板基于PbootCMS系统开发,为新闻资讯、博客类网站设计,特别适合各类文章内容的发布与管理。采用响应式技术,确保在不同设备上都能获得良好的阅读体验。查看源码 -
帝国CMS中小学生知识点试题练习题考试源码下载基于帝国CMS后台管理系统,支持在线修改联系信息、网站参数等配置,操作流程简洁明了。专注于中小学教育领域,集成知识点总结、试题练习、考试资讯等学习资源,为师生提供全面的在线学习支持与服务。查看源码 -
(PC+WAP)蓝色自动电动闸门伸缩门类网站pbootcms模板下载为电动闸门、自动伸缩门企业设计的响应式网站模板,突出产品展示与技术优势,助力门控设备企业建立专业数字化形象。手工编写DIV+CSS结构,代码精简高效,无冗余代码干扰,加载速度更快。查看源码 -
(自适应)家禽饲养养殖基地pbootcms模板响应式模板下载为家禽饲养企业、养殖基地设计的响应式网站模板,聚焦畜禽产品展示、养殖技术分享及企业信息服务。采用PbootCMS内核开发,响应式技术确保PC与手机端数据实时同步查看源码 -
(自适应)幽默笑话脑筋急转弯搞笑趣图博客pbootcms模板下载本模板基于PbootCMS系统开发,专为幽默笑话、搞笑趣图类网站设计。采用轻松活泼的布局风格,突出娱乐内容分享特色,适合各类笑话、段子、搞笑图片等内容展示。查看源码
| 分享笔记 (共有 篇笔记) |

