简单来说,WordPress插件是一个带有WordPress插件标题注释的PHP文件。强烈建议您创建一个目录来保存您的插件,以便您的所有插件文件都整齐地组织在一个地方。
要开始创建新插件,请按照以下步骤操作。
- 导航到WordPress安装的wp-content目录。
- 打开插件目录。
- 创建一个新目录并以插件命名(例如 )。plugin-name
- 打开新插件的目录。
- 创建一个新的 PHP 文件(最好以插件命名此文件,例如)。plugin-name.php
以下是该过程在 Unix 命令行上的外观:
wordpress $ cd wp-content
wp-content $ cd plugins
plugins $ mkdir plugin-name
plugins $ cd plugin-name
plugin-name $ vi plugin-name.php
在上面的示例中, 是文本编辑器的名称。使用适合您的编辑器。vi
现在您正在编辑新插件的 PHP 文件,您需要添加插件标题注释。这是一个特殊格式的 PHP 块注释,其中包含有关插件的元数据,例如其名称、作者、版本、许可证等。插件标头注释必须符合标头要求,并且至少包含插件的名称。
插件文件夹中只有一个文件应该有标题注释 — 如果插件有多个 PHP 文件,则只有一个文件应该有标题注释。
保存文件后,您应该能够在WordPress站点中看到您的插件。登录到您的WordPress网站,然后单击WordPress管理员左侧导航窗格中的插件。此页面显示您的WordPress网站拥有的所有插件的列表。您的新插件现在应该在该列表中!
钩子:操作和过滤器
WordPress钩子允许您在特定点利用WordPress来更改WordPress的行为方式,而无需编辑任何核心文件。
WordPress中有两种类型的钩子:动作和过滤器。操作允许您添加或更改WordPress功能,而过滤器允许您在加载和显示给网站用户时更改内容。
钩子不仅适用于插件开发人员;钩子被广泛用于提供WordPress核心本身的默认功能。其他钩子是未使用的占位符,当您需要更改WordPress的工作方式时,您可以使用它们。这就是WordPress如此灵活的原因。
基本挂钩
创建插件时需要的 3 个基本钩子是 register_activation_hook()、register_deactivation_hook() 和 register_uninstall_hook()。
激活钩子在您激活插件时运行。您可以使用它来提供一个函数来设置您的插件 - 例如,在表中创建一些默认设置。options
停用钩子在您停用插件时运行。您将使用它来提供一个函数来清除插件存储的任何临时数据。
这些卸载方法用于在使用WordPress管理员删除插件后进行清理。您将使用它来删除插件创建的所有数据,例如添加到表中的任何选项。options
添加钩子
您可以使用 do_action() 添加自己的自定义钩子,这将使开发人员能够通过钩子传递函数来扩展您的插件。
移除钩子
您还可以使用 invoke remove_action() 删除之前定义的函数。例如,如果您的插件是另一个插件的附加组件,则可以将 remove_action() 与上一个插件添加的函数回调一起使用 add_action()。在这些情况下,操作的优先级很重要,因为 remove_action() 需要在初始 add_action() 之后运行。
从钩子中删除操作以及更改优先级时应小心,因为很难看出这些更改将如何影响具有同一钩子的其他交互。我们强烈建议经常进行测试。
您可以在本手册的 Hooks 部分了解有关创建钩子并与之交互的更多信息。
WordPress API
你知道WordPress提供了许多应用程序编程接口(API)吗?这些 API 可以大大简化您需要在插件中编写的代码。你不想重新发明轮子,尤其是当这么多人为你做了很多工作和测试时。
最常见的是选项 API,它可以轻松地将数据存储在插件的数据库中。如果您正在考虑在插件中使用 cURL,您可能会对 HTTP API 感兴趣。
由于我们谈论的是插件,因此您需要学习插件 API。它具有多种功能,可帮助您开发插件。
WordPress如何加载插件
当WordPress在WordPress Admin的插件页面上加载已安装插件的列表时,它会搜索文件夹(及其子文件夹)以查找带有WordPress插件标题注释的PHP文件。如果您的整个插件仅包含一个PHP文件,例如Hello Dolly,则该文件可能直接位于文件夹的根目录中。但更常见的是,插件文件将驻留在自己的文件夹中,以插件名命名。
分享您的插件
有时,您创建的插件仅适用于您的网站。但是许多人喜欢与WordPress社区的其他成员分享他们的插件。在共享插件之前,您需要做的一件事是选择许可证。这让你的插件的用户知道如何允许他们使用你的代码。为了保持与WordPress核心的兼容性,建议您选择与GNU通用公共许可证(GPLv2+)一起使用的许可证。