首页 >CMS教程 >WordPress >使用WordPress插件样板加快开发

使用WordPress插件样板加快开发

Christopher Nolan
Christopher Nolan原创
2025-02-17 12:43:12882浏览

WordPress 插件开发入门指南:使用 WordPress 插件样板

WordPress 插件开发的学习曲线较低,并没有构建插件的唯一方法。插件可以像 Hello Dolly 一样简单,只是一个单文件;也可以根据各种需求和功能构建得非常复杂。WordPress 插件样板旨在提供一个标准化、高质量的基础,帮助您构建下一个优秀的插件。在本系列的第一部分中,我们将深入探讨该样板,包括文件和文件夹的结构以及样板的代码组织。

Speed up Development Using the WordPress Plugin Boilerplate

关键要点

  • WordPress 插件样板为构建 WordPress 插件提供了标准化、高质量的基础,学习曲线低,并且可以灵活地用于简单或复杂的插件结构。
  • 样板的 3.0.0 版本在代码组织和插件内部关注点的分离方面带来了重大改进,可以通过克隆 git 仓库或从 GitHub 仓库下载 zip 文件轻松获取。
  • 样板遵循推荐的 WordPress 编码和文档标准,提供有用的入门指南和工具推荐,并包含五个用于各种功能的默认类,使其成为插件开发人员的绝佳起点。

背景

WordPress 插件样板最初是由 Tom McFarlin 发起的,旨在提供一种标准化的面向对象方法来构建 WordPress 插件。由于样板构建在插件 API 之上,并遵循 WordPress 推荐的编码标准和文档标准,因此您可以确信自己处于安全可靠的环境中。样板最近更新到 3.0.0 版本,在代码组织以及插件内部关注点的进一步分离方面带来了重大改进。如果您已经熟悉使用旧版样板 (v2.6.2) 开发插件,则可能需要一些时间来重新学习最新版本中的新增内容,其中包括新的文件夹结构。此样板不再由 Tom McFarlin 本人维护(在撰写本文时),他已经将接力棒传给了 Devin Vinson。开发仍在按计划继续进行,因此如果您有任何问题,请随时在 GitHub 仓库中报告。我们也欢迎您的贡献。

获取样板副本

获取 WordPress 插件样板副本最简单的方法是克隆 git 仓库本身。

<code>git clone https://github.com/DevinVinson/WordPress-Plugin-Boilerplate.git</code>

或者您可以始终从 GitHub 仓库下载 zip 文件。由于 3.0.0 版本已发布,因此不能简单地将插件直接复制到您的 wp-content/plugins 目录中。这是因为插件的实际源代码不包含在根目录中,而实际上位于名为 trunk 的子目录中。现在不用担心这个问题,我们稍后将在本文中讨论新的文件夹结构。README.md 文件中详细介绍了如何正确安装样板的完整说明。简而言之,您可以:

  • 将 trunk 目录复制到 wp-content/plugins 文件夹
  • 复制整个样板目录,然后为 trunk 子目录创建到 wp-content/plugins// 的符号链接。创建符号链接将取决于您使用的操作系统。

完成此操作后,您现在应该在管理面板的插件列表中找到一个名为 WordPress Plugin Boilerplate 的插件,假设您没有对样板本身进行任何修改。只需激活插件即可开始使用!

使用在线生成器自定义插件

激活后,您将拥有一个基本上不执行任何操作的“普通”插件——至少目前是这样。您还需要对整个样板的代码库运行搜索和替换操作,此过程可能非常繁琐且耗时。幸运的是,Enrique Chavez 创建了一个非官方生成器,可以自动化此过程。只需访问 https://www.php.cn/link/6340831392e9cd8af9598274f4b3c5c0 并填写页面底部的表单即可生成个性化的 WordPress 插件样板副本。

文件夹结构

让我们更仔细地看看与旧版本相比,WordPress 插件样板 3.0.0 版本是如何组织的。如前所述,实际的插件代码包含在一个名为 trunk 的子目录中,而不是根目录中。这是为了遵循 WordPress 官方插件存储库中使用的标准,该存储库包含三个主要目录:assets、branches 和 trunk。样板已经提供了其中的两个:assets 和 trunk。以下是样板中包含的完整目录和文件(在撰写本文时):

<code>git clone https://github.com/DevinVinson/WordPress-Plugin-Boilerplate.git</code>

以下是每个文件和文件夹的功能简要说明:

  • .gitignore:为大多数不应存在于 git 存储库中的内容提供合理的默认 .gitignore
  • CHANGELOG.md:样板更改的标准变更日志,包含更改日期。
  • README.md:一个有用的入门指南,其中列出了安装说明,以及其他一些部分,例如工具推荐和鸣谢。
  • assets:此目录包含在您决定将插件发布到 WordPress 插件存储库时需要提供的推荐资源。此目录中包含的所有图像均为发布的推荐分辨率。
  • trunk:这是您将要开发的实际插件。有一些文件夹将代码库分为管理和面向公众的功能。我们将详细介绍每个子目录的含义。
    • adminadmin 目录中包含三个目录,即 cssjspartials。顾名思义,所有面向管理的功能都应放在此处。默认情况下,plugin-name-admin.jsplugin-name-admin.css 将添加到您的 wp-admin 中。class-plugin-name-admin.php 将提供通用功能,您可以在其中定义特定于管理的挂钩。
    • public:此目录与 admin 目录提供的功能非常相似,唯一的区别是 public 目录应用于存储所有面向公众的功能代码库。
    • languages:一个起始 .pot 文件,您可以在其中为插件提供翻译功能。
    • includes:这可能是几乎所有神奇之处发生的地方。默认情况下包含五个起始类,我们将在下一节中讨论。
    • LICENSE.txt:默认情况下包含 GPL v2 许可证的副本。
    • README.txt:插件 README 文件的起点。此文件涵盖了您可以进一步填写以在 WordPress 插件存储库中提供良好的插件页面的所有部分。
    • plugin-name.php:插件的入口点。在此处,包含一个通用的插件文件头,您可以根据自己的喜好进行修改。如果您需要在插件激活和/或停用时包含某种功能,则还会在此文件中注册 register_activation_hookregister_deactivation_hook

包含的类

如前所述,trunk/includes 目录中提供了五个默认类。让我们看看每个类都做什么:

  • class-plugin-name-activator.php:此类在插件激活期间实例化。它只有一个静态方法 activate(),该方法注册到 register_activation_hook。每当您需要在插件激活时执行某些操作(例如创建自定义表或保存默认选项)时,请使用此类。
  • class-plugin-name-deactivator.phpclass-plugin-name-deactivator.php 的对应类。它也只有一个静态方法 deactivate(),可用于在插件停用期间运行任何功能。
  • class-plugin-name-i18n.php:插件 i18n 功能的起点。它有一个属性 $domain,用于存储插件文本域。可以使用公共方法 set_domain() 设置此属性。最后,每当加载插件时,都会调用此类中的 load_plugin_textdomain() 方法。
  • class-plugin-name-loader.php:样板中可能最重要的类。它包含两个属性 $actions$filters,所有在插件中注册的挂钩都将存储在此处。它提供两个简单的包装函数 add_action()add_filter(),用于将操作或过滤器添加到 $actions$filters 属性中。这不要与 WordPress 默认的 add_action()add_filter() 函数混淆,因为此类实际上并没有直接注册它们。所有挂钩都只会在另一个名为 run() 的方法期间注册。
  • class-plugin-name.php:将所有部分粘合在一起的类。它包含有关插件的重要信息,例如插件名称和版本。此外,它将使用 load_dependencies() 方法加载依赖项,这将包含以上四个类,并且将使用 set_locale() 方法设置插件文本域。之前注册的所有管理和公共挂钩也可以在此处定义。此类还提供简单的 get 方法,例如 get_plugin_name() 用于返回插件名称,get_version() 用于返回当前插件版本,以及 get_loader() 用于保留 class-plugin-name-loader.php 的实例。

结论

简而言之,WordPress 插件样板为插件开发人员提供了一个绝佳的起点。它遵循推荐的 WordPress 编码标准以及 WordPress 文档标准,因此您知道自己从一开始就走在了正确的道路上。此外,由于样板已经提供了您所需的大部分内容,因此发布到 WordPress 插件存储库变得更加容易。一旦我们熟悉了代码组织和文件夹结构,我们将在本系列的第二部分中探讨如何使用 WordPress 插件样板开发实际插件。

以上是使用WordPress插件样板加快开发的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn