WordPress代码库

WordPress由一个集中的版本控制版本控制 版本控制系统跟踪源代码和对源代码的修订。WordPress使用Subversion(SVN)进行版本控制,大多数存储库使用Git镜像。系统已调用颠覆。此存储库的镜像也可以通过吉特分布式VCS。

WordPress代码库可以通过多种方式访问:使用Subversion,使用吉特吉特 Git是一个免费开源的分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。Git很容易学习,并且具有闪电般快速的性能。大多数现代插件和主题开发都是使用这个版本控制系统完成的。https://git-scm.com/.,至Trac公司Trac公司 Edgewall Software的一个开源项目,用作WordPress的错误跟踪和项目管理工具。(该缺陷缺陷 错误是错误或意外结果。性能改进、代码优化和被视为增强,而不是缺陷。功能冻结后,只处理错误,回归(与前一版本相反的更改)是最高优先级。跟踪器),并通过直接下载:

  • 颠覆:存储库位于https://develop.svn.wordpress.org/.主要发展分支分支 Subversion中的目录。WordPress使用分支来存储每个主要版本(3.9、4.0等)的最新开发代码。然后使用该分支的任何次要版本的代码更新分支。有时,WordPress的主要版本及其次要版本统称为“分支”,例如“4.0分支”。–已调用大旅行箱大旅行箱 Subversion中的一个目录,包含为下一个主要发布周期做准备的最新开发代码。如果您运行的是“trunk”,那么您使用的是最新版本。–是https://develop.svn.wordpress.org/trunk.
  • Git(吉特):存储库位于git://develop.git。wordpress.org网站WordPress.org网站 用户创建和共享WordPress代码的社区站点。您可以在这里下载WordPress核心、插件和主题的源代码,以及社区对话和组织的中心位置。https://wordpress.org//. 还有一个Github上WordPress存储库的镜像。欢迎上的Pull请求githubgithub GitHub是一个提供git存储库在线实现的网站,其他开发人员可以轻松共享、复制和修改这些存储库。公共存储库可以免费托管,私有存储库需要付费订阅。GitHub引入了“拉请求”的概念,在将贡献者在分支中所做的代码更改合并为存储库所有者之前,可以对其进行审查和讨论。https://github.com/但请遵循GitHub代码审查指南以确保其他贡献者可以看到拉请求。
  • 追踪:可以通过浏览器在以下位置查看存储库:https://core.trac.wordpress.org/浏览器/。可以在以下位置查看变更集日志:https://core.trac.wordpress.org/log/.
  • 下载:WordPress的最新稳定版本可以下载在https://wordpress.org/latest.zip。最新的夜间版本(2300 GMT)可以在https://wordpress.org/nightly-builds/wordpress-latest.zip.

WordPress中的代码是如何组织的

如果您正在使用上面提到的Git或Subversion存储库核心核心 核心是运行WordPress所需的一组软件。核心开发团队构建WordPress。代码库位于型钢混凝土目录。下载的包提供此目录的“构建”版本,因此将这些文件放在根目录中。代码库由大约1000个文件和目录组成。

初始引导文件,例如索引.php,wp-负载.php,wp-blog-header.php文件、和wp-设置.php,出现在此型钢混凝土目录。诸如XML-RPC、trackback和注释提交端点等特殊处理程序也位于根目录中。

其余文件分为三个不同的目录:水处理-管理员管理员 (和超级管理员),wp包括在某种程度上,wp含量.

顶部

wp含量

这个wp含量目录由用户定义的和特定站点的文件组成,包括主题、插件和上传。存储库仅包含wp含量捆绑插件(例如Hello Dolly)和主题(例如Twenty Fifteen)的目录。

顶部

wp包括

这个wp包括该目录由WordPress的主要核心库和第三方库组成。其中许多文件是在应用程序引导时加载的。

中的文件wp包括遵循一组(主要)标准的前缀和后缀:

  • 类-*.php –菲律宾比索菲律宾比索 WordPress主要使用的web脚本语言。WordPress需要PHP 5.6.20或更高版本类。其中一些是外部库。
  • ms-*.php–特定于WordPress的代码多站点多站点 用于描述WordPress安装,该安装包含多个博客网络,按站点分组。此安装类型具有共享用户表,并为每个博客创建单独的数据库表(wp_posts变为wp_0_posts)。另请参见网络,博客,网站功能。
  • 默认值-*.php–实现或定义默认功能的代码,即常量、小部件和过滤器。
  • *已弃用.php–已弃用的函数。
  • *-模板.php–相关模板功能美国石油学会美国石油学会 API或应用程序编程接口是一种软件中介,允许程序相互交互并以有限的、明确定义的方式共享数据。.

中的文件wp-admin/includes(wp-admin)遵循类似的命名约定。

顶部

wp-管理员

这个wp-管理员目录包含驱动WordPress管理区域的代码。主要引导程序是wp-admin/admin.php。其他特殊文件包括管理员-负责人.phpadmin-footer.php,AJAX处理程序admin-ajax.php和通用POST处理程序管理员post.php。中的大多数文件wp-管理员目录是WordPress管理界面中的页面。

这个wp-admin/includes(wp-admin)目录由管理区域中可用和使用的主核心库和第三方库组成。其中一些是在管理员引导时加载的;看见wp-admin/includes/admin.php用于包含的主要文件列表。

顶部

JavaScript和CSS

这个wp-管理员wp包括目录也有js型css公司目录,分别用于脚本和样式。第三方脚本以压缩和缩小状态打包,可在https://wordpress.org/download/source网站/。核心脚本和样式都包括缩小版和开发版,缩小版接收后缀最小.js最小.css.

这个wp包括目录的文件夹中有许多第三方库。这个wp-includes/js目录,特别是jquery(jquery)小金币目录,前者包含jQuery、jQuery用户界面用户界面 用户界面和各种插件,后者包含TinyMCE和各种TinyMC核心和WordPress特定的扩展。

这个wp-includes/script-loader.php文件注册所有捆绑的脚本和样式。每个脚本和样式都有一个特定于日期的版本号(yyyymmdd),该版本号由提交者提交者 具有提交访问权限的开发人员。WordPress有五名首席开发人员和四名具有提交权限的永久核心开发人员。此外,项目通常有几个访客或组件提交者,即接受提交访问的开发人员,通常用于单个发布周期(有时续订)和/或特定组件。当样式表更改时。版本号将添加到统一资源定位地址统一资源定位地址 互联网上网站或网页的特定网址,例如网站的URL www.wordpress.org,强制清除浏览器缓存CSS公司CSS公司 级联样式表。JavaScript脚本JavaScript脚本 JavaScript或JS是一种面向对象的计算机编程语言,常用于在web浏览器中创建交互效果。WordPress广泛使用JS以获得更好的用户体验。当PHP在服务器上执行时,JS在用户浏览器中执行。https://www.javascript.com/.要加载。

顶部

搜索和浏览代码历史记录

为了搜索代码库,开发人员依靠代码编辑器中的项目搜索工具或集成电路设备集成电路设备 综合开发环境。为软件开发人员/程序员提供全套功能的软件包。通常,IDE包括源代码编辑器、代码构建工具和调试功能。,或命令行实用程序,如ack(确认)格雷普在Trac上浏览代码库是可以管理的,但有一个特别的特性值得注意:Trac为Subversion提供了一个优秀的用户界面责备命令。

收件人责备一行代码意味着确定最后一次编辑该行的人和时间。要在浏览文件时在Trac中访问此内容,请单击注释右上角的链接。大多数人认为UI比单独的svn指责命令效率高得多。

核心提交人不会轻易更改WordPress,并且在没有尽可能完全理解现有代码的情况下,决不应该进行提交。如果代码导致错误,情况总是这样吗?它是什么时候推出的?为什么?有问题的代码是针对不同错误的修复吗?这些问题非常重要。

要了解有关代码历史的更多信息,请阅读用Subversion注释研究代码历史.

顶部

安装

最初运行WordPress安装时,如果wp-config.php找不到文件wp-负载.php文件将建议您访问wp-admin/setup-config.php以创建配置文件。

完成后,您将被带到wp-admin/安装.php此时,将创建数据库表。数据库架构存储在wp-admin/includes/schema.php,安装库主要位于wp-admin/included/upgrade.php (他们还位于哪里?我们应该在这里具体说明).

顶部

数据库升级

数据库升级说明包含在wp-admin/includes/upgrade.php。每当新版本的WordPress需要更改数据库时,无论是改变数据库结构还是更新某些数据库内容,都可以触发升级例程。事实上,您可以安全地从WordPress 0.70更新到最新版本,数据库将跟上十多年的变化。

知道什么时候升级由中的数字处理wp-includes/版本.phpWordPress数据库版本。这个数字对应于代码库的修订号,通常是上次引入数据库升级例程的修订号。当代码中的数字与数据库中存储的数字不同时wp-admin/includes/upgrade.php正在运行。

功能wp_upgrade()电话upgrade_all()(除其他函数外),它将按顺序运行相应的例程。为了触发一个新的例程,“模式碰撞”-更改正确的数字,包括中的WordPress数据库版本版本.php–需要发生。

数据库结构的更改由一个名为dbDelta(),它获取表定义,将其与现有模式进行比较,并进行任何必要的更改&例如,添加新表、更改字段、添加索引。对于dbDelta()为了运行核心表定义版本.php只是需要缓冲一下。

顶部

文件更新

核心开发人员通常区分数据库“升级”和版本“更新”。(通过用户界面)将WordPress更新到最新的代码库会触发一系列复杂的操作。

在任何更新之前,WordPress已经进行了轮询api.wordpress.org网站以确定是否需要更新,如果需要,在何处查找新版本。一旦触发更新,WordPress将下载ZIP存档并将其解压缩到wp-content/升级单个文件,wp-admin/includes/update-core.php,将从临时目录中复制出来,并覆盖现有的wp-admin/includes/update-core.php,此时将执行。因此,新下载的代码处理复制新文件的主要过程。这使我们能够提供特定于新版本的说明,例如哪些文件是旧的并且可以删除。

顶部

探索代码

这些工具可能有助于探索WordPress代码库:

上次更新时间: