首页 / 插件开发手册 / 插件基础

插件基础

入门

最简单的说,WordPress插件是一个带有WordPress插件页头注释的PHP文件。强烈建议您创建一个目录来保存插件,以便将插件的所有文件整齐地组织在一个地方。

要开始创建新插件,请执行以下步骤。

  1. 进入到WordPress安装目录的wp-content目录。
  2. 打开plugins目录。
  3. 创建一个新目录并以插件的名字命名(例如plugin-name)。
  4. 打开新插件的目录。
  5. 创建一个新的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()添加您自己的自定义钩子,这将使开发人员能够通过钩子传递函数来扩展插件。

 

移除钩子

您还可以使用remove_action()删除先前定义的函数。例如,如果您的插件是另一个插件的附加组件,则可以使用remove_action()让其回调函数和前一个插件使用add_action()添加的回调函数保持一致。在这些情况下,操作的优先级很重要,因为remove_action()需要在初始add_action()之后运行。

在从钩子中删除动作以及更改优先级时,您应该小心,因为很难看到这些更改将如何影响使用同一钩子的其他交互。我们强烈建议经常测试。

您可以在本手册的钩子部分了解有关创建钩子和与它们交互的更多信息。

 

WordPress API

你知道WordPress提供了许多应用程序编程接口(API)吗?这些API可以大大简化您需要在插件中编写的代码。你不会想要重新发明轮子,尤其是当这么多人为你做了大量工作和测试的时候。

最常见的是选项API,它可以让插件轻松地将数据存储到数据库中。如果您正在考虑在插件中使用cURL,您可能会对HTTP API感兴趣。

与插件开发相关的API在本手册后续将有详细介绍。

 

WordPress如何加载插件

当WordPress在后台管理的插件页面上加载已安装插件的列表时,它会搜索plugins文件夹(及其子文件夹)以找到带有WordPress插件页头注释的PHP文件。如果整个插件只包含一个PHP文件,如Hello Dolly,那么该文件可以直接位于plugins文件夹的根目录中。但更常见的情况是,插件文件将位于它们自己的文件夹中,以插件命名。

 

共享你的插件

有时,你创建的插件只是为了你的网站。但是许多人喜欢与WordPress社区的其他人分享他们的插件。在共享插件之前,您需要做的一件事是选择一个许可证。这让你的插件用户知道他们是如何被允许使用你的代码的。为了保持与WordPress core的兼容性,建议您选择一个与GNU通用公共许可证(GPLv2+)一起使用的许可证。