Wordpress 插件的加载
在 WordPress 中,插件的加载过程主要由 WordPress 的核心文件 wp-settings.php
和 wp-includes/plugin.php
文件共同完成。
1. wp-settings.php
文件
具体来说,wp-settings.php
文件中会调用 wp-includes/load.php
中的 wp_initial_constants()
函数来设置一些常量,然后会调用 wp-includes/plugin.php
中的 plugin_sandbox_scrape()
函数来检查插件目录中的插件文件。
2. wp-includes/plugin.php
文件
wp-includes/plugin.php
文件是 WordPress 插件系统的核心文件,其中定义了插件加载和运行的相关函数。
主要函数:
register_activation_hook()
: 注册插件激活时的钩子。register_deactivation_hook()
: 注册插件停用时的钩子。do_action()
: 执行插件中定义的钩子。add_action()
: 将插件的函数挂载到特定的钩子上。add_filter()
: 将插件的函数挂载到特定的过滤器上。
插件加载过程:
- 插件目录扫描: WordPress 在启动时会扫描
wp-content/plugins/
目录,识别所有有效的插件。 - 插件文件加载: 在
wp-settings.php
文件中,WordPress 会通过require_once
语句加载每个插件的主文件。 - 插件初始化: 插件文件被加载后,插件中的代码会通过
add_action()
和add_filter()
函数将自己挂载到 WordPress 的钩子和过滤器上,从而在特定的事件发生时执行插件的代码。
3. 插件加载的时机
插件的加载时机是在 WordPress 的 plugins_loaded
钩子触发时。这个钩子在所有插件都被加载后触发,因此插件可以在此时进行一些初始化操作。
do_action( 'plugins_loaded' );
4. 插件的激活与停用
- 激活: 当插件被激活时,WordPress 会调用插件中通过
register_activation_hook()
注册的函数。 - 停用: 当插件被停用时,WordPress 会调用插件中通过
register_deactivation_hook()
注册的函数。
总结
WordPress 插件的加载过程主要在 wp-settings.php
和 wp-includes/plugin.php
中实现。
wp-settings.php
负责加载插件文件,而 wp-includes/plugin.php
提供了插件系统的基础功能,如钩子、过滤器等。
插件的实际运行是通过挂载到 WordPress 的钩子和过滤器上实现的。
Must-Use Plugins
与普通插件不同,Must-Use 插件会在 WordPress 启动时自动加载,且无法通过管理界面停用或删除。
- Must-Use Plugins(简称 MU 插件)是 WordPress 中的一种特殊插件类型。
- 它们会在 WordPress 启动时自动加载,且无法通过管理界面停用或删除。
- 通常用于加载核心功能或强制执行某些规则(例如安全插件、性能优化插件等)。
评论已关闭