使用WordPress插件样板加快开发
WordPress 插件开发入门指南:使用 WordPress 插件样板
WordPress 插件开发的学习曲线较低,并没有构建插件的唯一方法。插件可以像 Hello Dolly 一样简单,只是一个单文件;也可以根据各种需求和功能构建得非常复杂。WordPress 插件样板旨在提供一个标准化、高质量的基础,帮助您构建下一个优秀的插件。在本系列的第一部分中,我们将深入探讨该样板,包括文件和文件夹的结构以及样板的代码组织。
关键要点
- 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
:这是您将要开发的实际插件。有一些文件夹将代码库分为管理和面向公众的功能。我们将详细介绍每个子目录的含义。-
admin
:admin
目录中包含三个目录,即css
、js
和partials
。顾名思义,所有面向管理的功能都应放在此处。默认情况下,plugin-name-admin.js
和plugin-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_hook
和register_deactivation_hook
。
-
包含的类
如前所述,trunk/includes
目录中提供了五个默认类。让我们看看每个类都做什么:
-
class-plugin-name-activator.php
:此类在插件激活期间实例化。它只有一个静态方法activate()
,该方法注册到register_activation_hook
。每当您需要在插件激活时执行某些操作(例如创建自定义表或保存默认选项)时,请使用此类。 -
class-plugin-name-deactivator.php
:class-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中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

有四种方法可以调整 WordPress 文章列表:使用主题选项、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代码(在 functions.php 文件中添加设置)或直接修改 WordPress 数据库。

博客是人们在网上表达观点、意见和见解的理想平台。许多新手渴望建立自己的网站,却因担心技术障碍或成本问题而犹豫不决。然而,随着平台不断发展以满足初学者的能力和需求,现在开始变得比以往任何时候都更容易。 本文将逐步指导您如何建立一个WordPress博客,从主题选择到使用插件提升安全性和性能,助您轻松创建自己的网站。 选择博客主题和方向 在购买域名或注册主机之前,最好先确定您计划涵盖的主题。个人网站可以围绕旅行、烹饪、产品评论、音乐或任何激发您兴趣的爱好展开。专注于您真正感兴趣的领域可以鼓励持续写作

最近,我们向您展示了如何通过允许用户将自己喜欢的帖子保存在个性化库中来为用户创建个性化体验。您可以通过在某些地方(即欢迎屏幕)使用他们的名字,将个性化结果提升到另一个水平。幸运的是,WordPress使获取登录用户的信息变得非常容易。在本文中,我们将向您展示如何检索与当前登录用户相关的信息。我们将利用get_currentuserinfo(); 功能。这可以在主题中的任何地方使用(页眉、页脚、侧边栏、页面模板等)。为了使其工作,用户必须登录。因此我们需要使用

您想了解如何在父分类存档页面上显示子分类吗?在自定义分类存档页面时,您可能需要执行此操作,以使其对访问者更有用。在本文中,我们将向您展示如何在父分类存档页面上轻松显示子分类。为什么在父分类存档页面上显示子分类?通过在父分类存档页面上显示所有子分类,您可以使其不那么通用,对访问者更有用。例如,如果您运行一个关于书籍的WordPress博客,并且有一个名为“主题”的分类法,那么您可以添加“小说”、“非小说”等子分类法,以便您的读者可以

过去,我们分享过如何使用PostExpirator插件使WordPress中的帖子过期。好吧,在创建活动列表网站时,我们发现这个插件非常有用。我们可以轻松删除过期的活动列表。其次,多亏了这个插件,按帖子过期日期对帖子进行排序也非常容易。在本文中,我们将向您展示如何在WordPress中按帖子过期日期对帖子进行排序。更新了代码以反映插件中更改自定义字段名称的更改。感谢Tajim在评论中让我们知道。在我们的特定项目中,我们将事件作为自定义帖子类型。现在

要使用 WordPress 主机建站,需要:选择一个可靠的主机提供商。购买一个域名。设置 WordPress 主机帐户。选择一个主题。添加页面和文章。安装插件。自定义您的网站。发布您的网站。

您是否正在寻找自动化 WordPress 网站和社交媒体帐户的方法? 通过自动化,您将能够在 Facebook、Twitter、LinkedIn、Instagram 等平台上自动分享您的 WordPress 博客文章或更新。 在本文中,我们将向您展示如何使用 IFTTT、Zapier 和 Uncanny Automator 轻松实现 WordPress 和社交媒体的自动化。 为什么要自动化 WordPress 和社交媒体? 自动化您的WordPre

我们的一位用户询问其他网站如何在页脚中显示查询数量和页面加载时间。您经常会在网站的页脚中看到这一点,它可能会显示类似以下内容:“1.248秒内64个查询”。在本文中,我们将向您展示如何在WordPress中显示查询数量和页面加载时间。只需将以下代码粘贴到主题文件中您喜欢的任何位置(例如footer.php)。queriesin
