WordPress 是一个开源平台,强调全球 WordPress 社区的贡献和利益。WordPress 生态系统每天都在变得越来越大,有许多插件和主题。目前,它在官方 WordPress.org 存储库中有 60K+ 插件。如果您打算将插件添加到WordPress官方库,请确保遵循最佳编码实践以获得批准。
在本文中,我们将向您展示如何通过遵循 WordPress 插件开发最佳实践来有效地开发插件。
在此之前,让我们快速浏览一下 WordPress 插件开发的关键阶段。
WordPress插件开发的关键阶段是什么
在您计划创建插件之前,请确保它在 WordPress 生态系统中具有实用性。首先准备好基础知识,然后开始相应地编码。在研发过程中,您需要回答以下问题——
- WordPress 用户真的需要这个插件吗?
- 您的插件有哪些独特的功能?
- 这些功能如何帮助用户?
- 前端的设计是什么?
- 它将如何与必要的插件和服务集成?
一旦你确定你知道你在做什么,继续做一个 WordPress 插件。WordPress插件开发的关键阶段如下 –
- 更正名称并考虑商标问题
- 为插件创建文件夹和结构
- 将文件头添加到您的插件
- 编写代码以使您的插件正常运行
- 将您的插件部署到 WordPress。
您需要将插件提交给 WordPress 审核团队,然后才能最终对所有人可见。
在部署插件之前了解 WordPress.org 审核团队
每个 WordPress 插件在公开出现在 WordPress.org 官方插件目录之前都会经过审核过程。审核团队由一群在 WordPress 开发方面拥有丰富经验的专家组成。目前,评审组有四名有价值的成员。他们自愿根据插件审查员手册使用官方工具审查插件。
他们还调查整个 WordPress 社区的准则违规、安全问题和开发人员的行为,包括支持论坛、WordCamps 和评论。只有保持编码标准,您才能通过这些看门人。这就是为什么在开发 WordPress 插件时需要遵循最佳实践的原因。
12+ WordPress 插件开发最佳实践
如果您的插件没有得到审核团队的批准,您所有的时间和努力都将付诸东流。这就是为什么在创建插件时需要遵循 WordPress 开发最佳实践的原因。您最有可能通过仔细执行这些步骤来完成过滤过程。
1. 制定明确的战略
如果没有适当的计划和愿景,整个开发过程将导致一个大零。找到目标受众的痛点,并为他们提供有效的解决方案。
如果已经存在的插件不足以解决您正在解决的问题,您只能带来一个新插件。如果你没有为他们的产品增加价值,没有人会用你的插件把他的网站弄得乱七八糟。
因此,引入具有独特卖点且易于销售的插件非常重要。它应该增强网站的可访问性并以更简单的方式完成所有工作。只有定义明确的策略才能帮助您成功创建和营销插件。
2. 遵循 WordPress 编码标准
全球有成千上万的 WordPress 开发人员。他们需要遵循一套规则来避免常见错误、增强代码可读性并保持一致性。来自全球任何角落的任何人都应该了解代码片段中的内容。只有当每个人都遵循相同的WordPress 编码标准时才有可能。
WordPress 有一套特定语言和可访问性标准。它们定义了当您使用 CSS、HTML、JavaScript 和 PHP 代码时该做什么和不该做什么。您必须遵守这些标准才能创建满足 WordPress 社区需求的插件。
3. 谨慎使用命名空间
每当您向插件添加函数、变量和类时,它都会被扔到全局命名空间中。如果全局命名空间已经有其他人编写的相同函数,则会发生冲突并显示错误。
这就是为什么你需要为你的函数、变量和类添加一个唯一的前缀。前缀可帮助您的插件避免覆盖问题。
例如,如果您的插件名称是 WP Test Plugin,则您的所有函数和变量应如下所示 –
wp_test_plugin_some_function()
或 $wp_test_plugin_my_variable
。
您还可以通过仅保留第一个字母来缩短插件的名称。在这种情况下,WP 测试插件将是“WTP”。
4. 将安全作为重中之重
网站安全是每个网站所有者最重要的事情之一。如果您的插件未能赢得用户的信任,它就不太可能获得任何用户。因此,请投入更多时间来确保插件的安全标准。重视以下清理输入和转义输出 –
- esc_url
- esc_url_raw
- esc_html
- esc_textarea
- esc_attr
- wp_filter_kses
- wp_insert_post
- esc_textarea
- $wpdb->update
- $wpdb->insert
5. 使用 Nonce 进行验证
WordPress nonces 是指一次性令牌,用于保护 URL 和表单免受不必要的操作。当 WordPress 用户执行删除或预览帖子等操作时,它可以作为他们的唯一标识符。因此,在 WordPress 环境中使用 nonce 来验证特定操作。
例如,当您要删除帖子时,URL 会生成一个 nonce 令牌来验证请求是否真实。请参阅下图以供参考。将鼠标悬停在“垃圾箱”选项上,它将向您显示 nonce 令牌。
如果这个请求来自一个虚假的来源,它最后不会有wpnonce部分。这样可以保护您免受未经授权的操作。
6.从样板代码开始
从头开始创建新插件需要花费大量时间和精力。您可以开始使用样板文件。Boilerplate是插件开发的基础。它为 WordPress 开发人员提供了精确且一致的指南。使用熟悉的样板的一个优点是它允许其他人轻松地为您的插件做出贡献。
7. 使用 WP_DEBUG 模式
使用 WordPress 时打开 WP_DEBUG 模式。它将找出您在整个开发过程中犯的错误。您可以通过将以下代码段放在wp-config.php文件中来启用调试模式。
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
结束开发过程后关闭 WP_DEBUG。否则,它可能会向您显示 PHP 通知或其他不会严重影响插件的小错误通知。我们建议在实时环境中禁用调试模式。
拓展阅读:WordPress 调试模式基本指南
8. 保持清晰的文件夹结构
保持清晰且组织良好的文件夹结构是 WordPress 插件开发的必要条件。它对开发人员也很有帮助,因为它显示了整个工作流程。
不要忘记将不同类型的文件放在指定的文件夹中。例如,将图像保存在/images文件夹中,而不是其他任何地方。
这是您的插件的示例文件夹结构 –
/plugin-name
plugin-name.php
uninstall.php
/languages
/includes
/admin
/js
/css
/images
/public
/js
/css
/images
确保你的根目录有plugin-name.php
文件和uninstall.php
文件。在所有子文件夹之间保持适当的层次结构。
9. 添加 Readme.Txt 文件
如果没有完整的 readme.txt 文件,您的插件将无法通过审核团队。促进插件的分发过程至关重要。自述文件包含以下信息:
- 插件名称
- 贡献者姓名
- 所需的 PHP 版本
- 所需的 WordPress 版本
- 标签
- 许可证信息等
让我们以下面的 readme.txt 文件为例。
=== Plugin Name ===
Contributors: (this should be a list of wordpress.org userid's)
Donate link: https://example.com/
Tags: tag1, tag2
Requires at least: 4.7
Tested up to: 5.4
Stable tag: 4.3
Requires PHP: 7.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Here is a short description of the plugin. No markup here.
您可以在文本末尾添加插件的简短描述(少于 150 个字符)。超过此限制的任何内容都将被切断。但是,您可以在文本文件的下一个描述部分中添加有关插件各个方面的更多信息。
10.关注国际化
WordPress 在世界上每个可以使用 Internet 的地方都可用。为什么你会错过这个全球观众?
因此,强调为更广泛的受众国际化插件的重要性。使用 gettext 库使您的字符串可翻译。您可以从这个关于国际化的 WordPress 指南中了解更多信息。
11. 只包含必要的内容
不要过度使用您的代码。仅加载使插件对用户有用和有用的内容。仅使用样式表、JavaScript 和其他用于特定目的的代码片段。
12. 在需要时使用工具和服务
您可以使用WordPress 插件开发工具以更简单的方式开发您的插件。
用于应用代码的文本编辑器、用于传输和共享文件的 FTP 客户端以及暂存环境。开发 WordPress 插件时需要用到的这三个工具和服务。
您可以在整个开发阶段采用敏捷开发方法来加快部署过程。
我们建议使用Codeception 等软件测试工具来衡量插件的状况。您可以根据标准编码标准测试您的产品,并使用此工具确定用户体验的性质。
额外提示——要避免的常见 WordPress 开发错误
作为初学者级别的开发人员,您可能会犯数百个错误。有些错误是关键的,而有些错误是由于微不足道的原因而发生的。WordPress 开发人员通常会犯以下常见错误。
- 关闭调试模式
- 较少关注 SQL 注入风险
- 不遵守 WordPress 设定的规则
- 从网上寻找快速解决方案
- 使用不必要的 CSS 和 JavaScript 文件
- 未能从 WordPress 核心功能中获益
- 不了解最新技术
- 未能正确管理许可证
WordPress 插件开发的常见问答
WordPress插件开发容易吗?
根据您要添加的功能和特性,制作 WordPress 插件既容易又困难。您可以使用单个 PHP 行创建一个插件,但这无济于事。但是,构建一个功能丰富的 WordPress 插件并不容易。
制作一个 WordPress 插件需要多长时间?
开发 WordPress 插件没有固定的时间段。根据复杂性,它可能需要一天到一个月或更长时间。但是,这是一个持续的过程。您需要添加新功能和错误修复以保持插件的相关性和功能性。
通过销售 WordPress 插件我能赚多少钱?
这取决于很多因素。如果您有大量定期使用您的插件的客户群,您每月甚至可以赚取 10 万美元。而且,如果您的插件的专业用户为零,您的收入将为 0 美元。所以,这个问题没有明确的答案。
如何将插件上传到 WordPress 存储库?
将插件添加到 WordPress 存储库是一个 5 个步骤的过程。先快速浏览一下列表。
第 0 步:清楚了解插件结构
第 1 步:遵循社区指南
第 2 步:设置唯一的插件名称
第 3 步:验证自述文件
第 4 步:提交您的插件以供批准
第 5 步:将您的插件存储在 WordPress Subversion ( SVN) 存储库
要了解详情内容,请查阅:如何将插件上传到 WordPress 存储库:初学者的分步指南。
如果你是新手开发,可以看下专题《WordPress 插件开发教程》