http://cn.yflying.com/2010/06/wordpress%E6%A0%B8%E5%BF%83%E6%96%87%E4%BB%B6%E5%8A%9F%E8%83%BD%E5%8F%8A%E5%85%B6%E8%BD%BD%E5%85%A5/
WordPress中的各种功能都是通过其核心文件来完成(通过调用核心文件中的类和函数等),其核心文件都放在WPINC(即wp-includes)目录中,这些核心文件的用途,及其加载的顺序和位置,对我们理解WordPress的执行流程和架构至关重要。在这篇文章中,我将WP中核心文件进行解读!
注:为了是思路更加的清晰易懂,暂时不考虑后台管理相关的文件,以及多博客/站点相关的文件!
加载WP核心文件:
如下列表所示,这42个文件是核心文件中的核心,它们定要了WordPress使用的核心类和函数库,无可执行代码,只有当调用时才会执行相应的函数。这些文件都在wp-setting.php文件中依照一定的条件被加载,其功能见如下列表:
WPINC/load.php,定义一组加载 WP 所需要的函数,无执行代码;
WPINC/default-constants.php,定义一组函数,这些函数对那些能够被重写的常量和全局变量进行默认赋值,它们通常可以在 wp-config.php 中重新配置,无执行代码;
WPINC/compat.php,提供某些 PHP 版本缺少的函数(用于支持不同版本 PHP 上的兼容和移植),无执行代码;
WPINC/functions.php,定义 WP 主要的 API,无执行代码;
WPINC/classes.php,定义 WP 主要的类,无执行代码。
WPINC/plugin.php,定义插件 API,这些 API 用于创建 action、filter、以及钩子函数和方法,无执行代码;
WPINC/pomo/mo.php,定义语言处理类 MO,并加载文件,无执行代码:
WPINC/pomo/translations.php,定义对 entry 进行翻译的相关类,并加载文件,无执行代码:
WPINC/pomo/entry.php,定义翻译实体类 Translation_Entry,无执行代码;
WPINC/pomo/streams.php,定义一组类,用于从文件读入数据流,无执行代码。
————————我是基本功能分割线————————
WPINC/l10n.php,定义一组进行语言翻译的 API/函数,无执行代码。
WPINC/formatting.php,定义 WP 主要格式化API,用于对文本、字符串、函数输出进行格式化,无执行代码;
WPINC/query.php,定义一组 WP 的查询 API,无执行代码;
WPINC/theme.php,定义一组主题、模板和样式表函数,无执行代码;
WPINC/user.php,定义一组 WP 的用户 API,无执行代码;
WPINC/meta.php,定义一组元数据 API,这些 API 用于获取和操作 WP 中各种对象类型的元数据,一个对象的元数据简单的表示为键值对,对象可能包含多个元数据实体,他们有相同的键但不同的值,无执行代码;
WPINC/general-template.php,定义常用的模板标签,它们可以在模板中任意使用,无可执行代码;
WPINC/link-template.php,定义一组模板中处理链接的函数(例如处理固定链接),无可执行代码;
WPINC/author-template.php,定义一组模板中处理作者的函数,这些函数在主题中使用,并且必须出现在 WP LOOP 中,无可执行代码;
WPINC/post-template.php,定义一组模板中处理文章的函数,用于获取 Loop 中当前文章的内容,无可执行代码;
WPINC/category.php,定义一组 WP 的目录 API,无可执行代码;
WPINC/category-template.php,定义一组目录的模板标签和 API,无可执行代码;
WPINC/comment.php,定义一组 WP 的评论 API,无可执行代码;
WPINC/comment-template.php,定义一组评论的模板标签,旨在 Loop 中有用,无可执行代码;
WPINC/feed.php,定义一组 WP 的 Feed API,其中大部分只在 Loop 中使用,无可执行代码;
WPINC/bookmark.php,定义一组 WP 的友情链接/书签 API,无可执行代码;
WPINC/bookmark-template.php,定义一组书签的模板标签,无可执行代码;
WPINC/cron.php,定义一组 WP 的 CRON(定时任务) API,用于进行事件调度,无可执行代码;
WPINC/deprecated.php,一组已废弃的 API,无可执行代码;
WPINC/class.wp-dependencies.php,定义类 WP_Dependencies 和 _WP_Dependency,用于反压脚本队列,这些类由 WP_Scripts类和 WP 脚本队列 API 重构而来,无可执行代码;
WPINC/class.wp-scripts.php,定义类 WP_Scripts,继承自 WP_Dependencies,功能同上,无可执行代码;
WPINC/functions.wp-scripts.php,定义一组 WP 的脚本队列 API,功能同上,无可执行代码;
WPINC/functions.wp-styles.php,定义一组 WP 的样式队列 API,无可执行代码。
WPINC/taxonomy.php,定义一组 WP 的分类方法(与目录概念不同,是在目录之上的分类) API, 无可执行代码;
WPINC/http.php,定义一组简化和统一 http 请求的 API,无可执行代码;
WPINC/class-http.php,定义一组简化和统一 http 请求的类 WP_Http,WP_Http_Fsockopen,WP_Http_Fopen,WP_Http_Streams,WP_Http_ExtHTTP,WP_Http_Curl,WP_HTTP_Proxy,WP_Http_Cookie,WP_Http_Encoding,用于标准化 http 请求,处理 cookies 和 gzip 编码和解码,无可执行代码;
WPINC/nav-menu.php,定义一组 WP 中导航菜单 API,属于 WP3.0 新添加功能,无可执行代码;
WPINC/nav-menu-template.php,定义一组导航菜单的模板标签及 API,无可执行代码。
WPINC/pluggable.php,这里面的函数可以被插件覆盖,如果插件没有重新定义这些函数,则这些函数将会被使用,无可执行代码;
WPINC/pluggable-deprecated.php,被废弃的可插件覆盖函数,无可执行代码;
WPINC/locale.php,定义日期和时间的本地化对象类 WP_Locale,无可执行代码;
WPINC/post-thumbnail-template.php,定义一组 WP 的文章略图模板标签,无可执行代码。
至此,WP 已经加载大多数的核心文件,wp-includes 目录下未被加载的文件基本为第三方库文件、已废弃文件,或者和多博客相关的文件。他们将会在相应的函数中根据需要加载:
atomlib.php, 在WPINC/functions.php中的wp_maybe_load_widgets()函数中加载;
cache.php, 在WPINC/load.php中的wp_start_object_cache()函数中加载;
class-feed.php, 在WPINC/feed.php中的fetch_feed()函数中加载;
class-IXR.php, 在xmlrpc.php文件中加载;在WPINC/comment.php中的pingback()和weblog_ping()函数中加载;在WPINC/functions.php中的do_enclose()函数中加载;
class-json.php, 在WPINC/compat.php中的json_encode()和json_decode()函数中加载;
class-oembed.php, 在WPINC/media.php中的wp_oembed_get()和wp_oembed_add_provider()函数中加载;
class-phpass.php, 在WPINC/pluggable.php中的wp_hash_password()和wp_check_password()函数中加载;
class-phpmailer.php, 在WPINC/pluggable.php中的wp_mail()函数中加载;
class-pop3.php, 在wp-mail.php中加载;
class-simplepie.php, 在WPINC/class-feed.php中加载;
class-smtp.php, 在WPINC/pluggable.php中的wp_mail()函数中加载;
class-snoopy.php, 已废弃,由http.php文件替代;
default-embeds.php, 在WPINC/functions.php中的wp_maybe_load_embeds()函数中加载;
default-widgets.php, 在WPINC/functions.php中的wp_maybe_load_widgets()函数中加载;
feed-atom.php, 在WPINC/functions.php中的do_feed_atom()函数中加载;
feed-atom-comments.php, 在WPINC/functions.php中的do_feed_atom()函数中加载;
feed-rdf.php, 在WPINC/functions.php中的do_feed_rdf()函数中加载;
feed-rss2.php, 在WPINC/functions.php中的do_feed_rss2()函数中加载;
feed-rss2-comments.php, 在WPINC/functions.php中的do_feed_rss2()函数中加载;
feed-rss.php, 在WPINC/functions.php中的do_feed_rss()函数中加载;
ms-default-constants.php, 在WPINC/ms-setting.php中加载;
ms-files.php
ms-load.php
registration.php, 在wp-activate.php, wp-signup.php, wp-login.php中加载;
registration-functions.php, 已废弃,由registration.php文件替代;
rss.php, 已废弃,由class-simplepie.php文件替代;
rss-functions.php, 已废弃,由rss.php文件替代;
wp-db.php, 在WPINC/functions.php中的require_wp_db()函数中加载;
wp-diff.php, 在WPINC/functions.php中的wp_text_diff()函数中加载;
pomo/po.php, 没有被加载???
至此WordPress中的所有核心文件的功能及其加载顺序或位置都已明晰,我们就可以根据自己的需求对其进行修改(或添加删除),以达到自身的目的!
分享到:
相关推荐
WordPress源码资源交易分享源码.zip
3. **安装和升级**: - 新用户可以下载WordPress-6.4.2压缩包,解压后上传到服务器的根目录,然后通过Web浏览器完成安装过程。 - 已有WordPress网站的用户可以通过后台"更新"功能轻松升级到6.4.2,或手动下载新...
Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码...
WordPress程序某源码资源下载网站源码ripro主题整站数据源码资源打包下载 压缩包带网站数据库 资源数据还在,但自带资源已全部取消分享,但ripro主题无授权直接可用 直接上传安装即可运行,资源自己后续自行上传吧...
3. 模型层:封装了WordPress的各种数据对象,如文章、用户、分类等。 4. 业务逻辑层:实现具体功能的逻辑处理,如发布文章、编辑评论等。 二、REST API通信 WordPress for Android通过REST API与服务器进行通信。...
WordPress网址导航源码全局自适应手机端网站导航简约风主题模板,基于WordPress博客系统的网址导航网站源码,有单独的主题和整站源码打包文件,大家看情况自行选择。 WordPress网址导航源码全局自适应手机端网站导航...
最新抖你妹原版主题源码仿抖音模式套图SEO源码_Wordpress图片主题最新抖你妹原版主题源码仿抖音模式套图SEO源码_Wordpress图片主题最新抖你妹原版主题源码仿抖音模式套图SEO源码_Wordpress图片主题最新抖你妹原版...
仿源码屋资源下载网站源码 整站打包 wordpress主题【带1500数据】 效果演示:http://www.lpmym.cn/ 整站都是在服务器备份下来的。会员插件和推广插件也全都打包在内了,都是现在非常流行的插件。 开发语言:PHP ...
标题 "6.7W源码资源文章数据打包源码站整站32G打包wordpress.rar" 描述了一款包含大量源码资源和文章数据的压缩文件,总计32GB,主要用于WordPress网站的建设或管理。这个压缩包可能是从某个源码资源站点下载的,...
wordpress WP博客源码 phpwordpress WP博客源码 phpwordpress WP博客源码 phpwordpress WP博客源码 phpwordpress WP博客源码 phpwordpress WP博客源码 phpwordpress WP博客源码 php
你也可以对网站进行改造,做源码站和素材站都不在话下,写真站只是一个演示而已,具体做什么类型的网站大家自己去弄。 PHP设置7.0 宝塔配置 伪静态WordPress 配置数据库 文件路径 /wp-config.php 后台账号密码...
主题巴巴博客X主题zui新免授权版源码 WordPress主题模板主题巴巴博客X主题zui新免授权版源码 WordPress主题模板主题巴巴博客X主题zui新免授权版源码 WordPress主题模板主题巴巴博客X主题zui新免授权版源码 WordPress...
最新版去水印小程序源码,基于WordPress的短视频去水印小程序源码。本版本全开源,是Wordpress插件 上传到Wordpress 安装插件,启动之后绑定自己的小程序id就可以了。 wordpress可以在宝塔一键部署,也可以用源码带...
其他设置不需要设置,如果需要互动和广告等功能,可以使用微慕开源版官方的小程序源码,不过只有微信小程序。 使用方法: 后端 搭建wordpress网站,推荐使用nginx1.18+php7.3+mysql5.6 在wordpress插件市场搜索...
php源码 WordPress微信壁纸小程序壁纸小程序,可流量主收益,提供高清壁纸下载服务。 该小程序基于Wordpress+酱茄二开插件进行开发,拥有美观漂亮的壁纸展示页面,可搜索喜欢的壁纸,下载壁纸需观看激励视频广告...
本资源为WordPress英文网站源码,包含27,000篇文章数据,方便您进行二次开发和定制。WordPress是一个非常受欢迎的免费开源内容管理系统(CMS),全球用户超过40%。这款源码基于WordPress最新版本构建,兼容各种插件和...
2、 此主题非那种市面乱七八糟倒卖的源码,了解wordpress的人都知道,功能完整,且适合正规运营项目的主题 3、支持对接主流支付平台例如PayPal等等 4、支持200+多语言网站,我们可提供相关插件,自动翻译,手动纠错...
wordpress博客小程序源码改版,UI好看,网页广告无尽。这一套是一年前魔法改革的,比如后台设置分 享受标题/封面,用原生广告代替banner广告,网页广告提升无尽高频弹出操作等。 添加到最大化,并将前面写的一些内容...