开发WordPress插件时应避免的5个错误
作为WordPress开发人员,错误是流程的一部分。成功的插件开发,尤其是在您不熟悉插件时,需要反复试验。即使是经验丰富的开发人员也必定会偶尔搞砸。不幸的是,一些失误会导致大量时间和精力的浪费。
尽管错误是不可避免的,但了解开发人员在创建WordPress插件时会犯的一些最常见的错误可以帮助您避免自己制作它们。反过来,您将从更富有成效和繁荣的开发经验中受益。
在这篇文章中,我们将研究开发人员在开发WordPress插件时犯的五个常见错误,并提供有关如何做的一些指导。让我们开始吧!
一、编写代码时不考虑兼容性
作为开发人员,您可能对编码不良和不兼容的插件可能导致的一系列问题并不陌生。为了最大程度地减少性能问题并最大程度地利用插件,在开始编码之前考虑一下PHP和WordPress版本兼容性是明智的。
当然,最佳做法是使用WordPress核心和PHP的最新版本。不幸的是,并非所有人都这样做。编写代码以支持PHP的更新版本会很有帮助,请注意最新的更新和不推荐使用的功能。另一方面,您可能担心这会减少对许多人仍然使用的版本的支持。
根据WordPress使用情况统计,大多数用户都在运行WordPress 5.0或更高版本。大约40%的人尚未更新PHP 5.6以上,而大约60%的人使用7.0或更高版本:
您可以将此信息用作基准。例如,当您使用PHP 7.0和更高版本作为编码标准时,您可以针对最新版本的WordPress测试插件的兼容性。
还需要记住的是,您需要使用插件提交readme.txt文件。其中的一部分包括一些部分,您可以在其中为插件指定最低要求的PHP版本:
===测试插件名称===
贡献者:用户,用户,用户
标签:评论,垃圾邮件
捐赠链接:http://example.com/
至少需要:5.0
经过测试:5.3
需要PHP:7.1
稳定标签:1.1
许可证:GPLv2或更高版本
您可能会考虑使用插件自述生成器之类的工具来执行此操作。设置最低要求版本也可以帮助鼓励用户进行升级。
二、在开发过程中保持调试模式关闭
在实际环境中,默认情况下WP_DEBUG模式设置为'false'。这是为了防止您打印PHP错误和通知。通过保护服务器路径和脚本,它也有助于提高安全性。
但是,应该在插件开发期间将其打开(设置为“ true”),因为它是您可以使用的最重要的调试配置。不幸的是,有些开发人员忽略了这一步骤,要么是因为他们忘记了WordPress调试工具,要么是不了解其工作方式。
启用调试模式后,它将提醒您代码中的错误。它使您可以查看PHP声明,并使查找警告和不推荐使用的功能更加容易。为了使你的WordPress安装调试模式下,你可以到文件管理器在您的cPanel,然后找到的wp-config.php的文件。添加(或编辑以下各行的值):
define('WP_DEBUG',true);
define('WP_DEBUG_LOG',true);
该的debug.log文件,您可以查看所有错误。您可以在/ wp-content文件夹中找到它。但是,完成本地开发后,请记住再次禁用它。
如果您不想手动启用调试模式,则可以考虑使用WP Debugging插件:
在测试环境中激活后,默认情况下,调试模式将设置为“ true”:
要禁用此模式,您只需停用插件即可。您还可以使用Query Monitor插件作为其他故障排除帮助。
三、选择不带前缀的较差函数名称
开发人员使用插件犯的另一个常见错误是依赖于通用函数名称。如果存在其他具有相同功能名称的插件,则命名约定不当会导致代码冲突。
为了简洁起见,您可能倾向于使函数名简短而简单,但请记住,其他插件开发人员也可以使用相同的名称,这一点很重要。目的是使用唯一且具有描述性的名称。这样,您就可以在同一执行空间中将插件功能与其他功能区分开。
可以避免命名冲突的一种策略是为每个函数添加前缀。例如,而不是update_options() ,您可以使用yourpluginname_update_options() 。如果您的插件名称特别长,则可以考虑将其缩写为较短的版本。
另一种选择是将函数包装在类中并使用名称空间。您还可以使用function_exists常量来确定名称是否已经存在。
四、不使用WordPress随机数
WordPress非常重视安全性。作为插件开发人员,您有责任实施适当的安全措施以最大程度地减少漏洞。
一些开发人员犯的一个错误是过于关注插件的功能,而没有考虑其安全性。避免这种情况的一种方法是在代码中利用随机数。WordPress nonce是安全令牌,可帮助防止滥用表单和URL。
随机数可以特别有效地防止跨站点请求伪造(CSRF)攻击和SQL注入。简而言之,它们会生成唯一且临时的时间戳,以对请求进行身份验证和授权。唯一标识符有助于验证执行操作的用户是否来自可信赖的来源(例如,您的管理区域)。
可以通过wp_create_nonce()函数创建随机数。例如:
$ nonce = wp_create_nonce('delete-post');
您还可以将它们附加到URL:
<a href="myplugin.php?_wpnonce=<?php echo $nonce; ?>'>
另外,您可以使用wp_nonce_field()将它们添加为表单上的隐藏字段:
<form method =“ post”> <?php wp_nonce_field('name_of_my_action','name_of_nonce_field');?>
<!-这里有些输入...->
</ form>
如果您不熟悉随机数,建议您阅读我们以前的有关如何使用它们的文章。您还可以使用WordPress的资源来创建随机数并进行验证。
五、无法审查并遵守WordPress官方指南
正如我们提到的,开发人员有时会犯这样一个错误,即只关注他们希望人们如何使用插件,而没有充分考虑其功能可能如何影响合规性。但是,如果您希望将WordPress插件接受到存储库中,则必须严格遵循准则和编码标准。
如果您的插件中有任何错误或缺陷,您将收到来自审核小组的电子邮件,要求您对其进行修复,然后再重新提交。但是,如果他们怀疑不合规行为是出于恶意目的,则您的插件可能会被WordPress存储库禁止。
遵循编码标准和官方准则不仅增加了接受的机会,而且还使WordPress社区中的其他人更容易使用和扩展您的工作。因此,我们建议您在开始编码之前通读WordPress插件详细指南。
利用WordPress提供的各种工具在提交插件之前对其进行检查也是一个好主意。例如,您可以考虑使用readme.txt验证程序插件:
该工具快速且易于使用。您可以使用它来验证您的插件是否按照WordPress标准编写。
该WordPress插件样板是另一种方便的工具:
该插件为插件开发入门提供了功能基础。这样可以更轻松地确保您遵循所有正确的编码和文档标准。
结论
您可能会花费大量时间和精力来开发插件。您想要的最后一件事是让其中一个被WordPress拒绝,或者由于很容易避免的错误而陷入性能或安全问题。
正如我们在本文中讨论的那样,WordPress开发人员犯的五个常见错误包括:
忽略兼容性。
保持调试模式关闭。
选择不良的函数名称。
不使用WordPress随机数。
无法查看并遵守WordPress官方指南。
您对WordPress插件开发有疑问吗?让我们在下面的评论部分中知道!