wordpress wp-includes文件夹有什么用?


15

wordpress wp-includes文件夹有什么用?也就是说,它的基本体系结构用途是什么,例如,为什么不是全部都在主题或管理​​文件夹中?

插件开发人员可以依靠它的内容(例如jQuery)以及多长时间?

我还想知道,谁来决定其中的内容,以及如何在Wordpress更改时对其进行维护,所有这些都作为策略文档记录在某处?

Answers:


17

wp-includes包含通过前端(然后是一些)运行WordPress所需的一切。这是WordPress Core的领土,正如谚语所说,在任何情况下都不要修改core。

尽管wp-content可以定义插件和主题,但API本身和大多数WordPress核心都位于该文件夹中。这些几乎取决于整个WordPress。您的所有标准功能及其依赖性都可以在此文件夹中找到。

这使其成为用于研究和查找事物的宝贵资源。

wp-admin 可能会定义其他项,但对前端的运行而言并不重要

./wp-admin    - Admin code
./wp-content  - User-defined code and content
./wp-includes - Common files

至于该文件夹中文件的可靠性,您不应该依赖该文件夹中的文件。您永远不需要从wp-includes包含文件或路径,如果尝试或需要这样做,则说明您做错了非常可怕的事情,需要停止并返回。

尽管该文件夹中的文件可能会更改而不会发出警告,但这无关紧要,因为其中包含的API在相当长的时间内都保持向后兼容。

除WordPress更新外,wp-includes切勿修改,理想情况下应为只读。

如果需要在代码中添加依赖项,请依赖wp-includes中的版本,而不要添加自己的版本。例如,不包括自定义jQuery,请使用与WordPress捆绑在一起的jQuery(不要注销并重新注册)。

对wp-includes的修改可能会导致安全风险,性能下降,插件/主题损坏等。

包含的软件包和库的更改将在发布前宣布。不再需要旧的依赖项(例如旧的颜色选择器),但已将其标记为不赞成使用,以防止代码损坏


5

wp-includes目录包含core包含的软件包。该核心小组维护软件包中包含wp-includes。主题和插件可以依赖那些可用于任何给定版本WordPress的软件包。

这就是为什么使用核心定义的脚本注册仅将核心捆绑版本的脚本排入队列非常重要的原因,这样无论您使用什么,主题/插件都将始终使用与核心捆绑在一起的版本版本的WordPress正在运行。wp_enqueue_script( 'jquery' )


3

WordPress作为一个应用程序,由多个活动部分组成。该/wp-includes文件夹包含WordPress API(在主题/插件中使用)和WordPress管理员的常用功能。

因此,基本上:

./wp-admin    - Admin code
./wp-content  - User-defined code and content
./wp-includes - Common files

/wp-includes目录存储有用的第三方库(即,用于RSS的SimplePie和用于XML-RPC的IncutioRPC)。这也是定义许多WordPress API(即WP_Http,WP_Filesystem)的地方。

插件开发人员可以依靠它的内容吗?还有多长时间?

是。这些文件首先定义了WordPress API。核心团队竭尽全力保持向后兼容性,因此,如果WordPress中引入了任何会破坏您所使用内容的更改,您将事先知道。

我还想知道,谁来决定其中的内容,以及如何在Wordpress更改时对其进行维护,所有这些都作为策略文档记录在某处?

WordPress API的决策由开发团队定义。通常,您可以在http://make.wordpress.org/core上跟踪更改。库始终保持维护,因为更改这些库将改变WordPress。


文件没有定义API,这些文件中的函数和类可以做到这一点。在不对API进行任何更改的情况下,文件可能会移动或消失。
fuxia

0

wp-includes是包含大多数WordPress主要功能的目录。这是所有主要WordPress代码的所在地。

WordPress在保持版本之间的向后兼容性方面做得非常出色。您可以使用此文件夹中包含的功能来构建插件(这就是您连接到系统的方式)。

WordPress Trac是决定WordPress前进方式的主要区域,因此,如果您有意见/补充,请参与其中:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.