前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天一个WordPress文件:index.php

每天一个WordPress文件:index.php

作者头像
Denis
发布2023-04-15 10:14:27
5680
发布2023-04-15 10:14:27
举报
文章被收录于专栏:WordPress果酱WordPress果酱

第一个当然是介绍 index.php,WordPress 根目录下面的 index.php 是 WordPress 的最重要的一个文件,根据基本的 htaccess 规则:

代码语言:javascript
复制
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

index.php 是 WordPress 的唯一入口

如果访问 WordPress 博客的某个链接,没有对应的文件,则都让 index.php 来处理,所以可以说 index.php 是 WordPress 的唯一入口,该文件前面的注释,也符合这个意思。

代码语言:javascript
复制
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

大概意思就是:index.php 是 WordPress 程序的前端,这个文件不干任何别的事情,只加载 wp-blog-header.php 文件。

index.php 文件本身也非常简洁,只有两行代码:

代码语言:javascript
复制
define('WP_USE_THEMES', true);
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

我们后面再讲 wp-blog-header.php 做什么的。

WP_USE_THEMES 是做什么的?

今天注重分析一下常量 WP_USE_THEMES 是做什么的呢?

WP_USE_THEMES 字面意思也能理解,它定义 WordPress 是否使用主题,这里定义为 true;一般我们也不会去改这个东西。

那么这个东西到底有什么用的?你可以测试一下,将它设置成:false,网站打开后就是一片空白,那么设置成 flase 的应用场景在哪里的?

我们来看看,在 WordPress 执行的过程中,哪里用到这个常量,除了在 index.php 入口文件定义了这个常量外,只有在 wp-includes 目录下的 template-loader.php 这个处理模板加载的文件中使用到这个常量。

WordPress 的执行流程大概可以分为三部分:第一步是核心文件的加载,第二步是业务逻辑的执行,第三步是模板的加载渲染,最后输出到浏览器客户端。

第三步模板的加载渲染就是通过调用 template-loader.php 这个文件来执行的,在 template-loader.php 中几乎所有的代码逻辑的执行都是需要判断 WP_USE_THEMES 这个常量的真假,只有为 true 才去执行加载模板的逻辑的。

所以在我们不想使用 WordPress 的模板加载,也就是说不输出模板数据的情况下,只是想输出原始的数据到客户端,比如 API 接口,那我们就可以直接设置这个常量为 false,这样 template-loader.php 中的加载模板的代码都不会执行。

其实从大处看,WordPress也是一个简单的 MVC 架构,它也包含的 URL 解析,业务的处理以及最后模板的加载。


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • index.php 是 WordPress 的唯一入口
  • WP_USE_THEMES 是做什么的?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档