首页 > CMS教程 > &#&按 > WordPress插件开发

WordPress插件开发

Jennifer Aniston
发布: 2025-02-21 10:48:10
原创
556 人浏览过

WordPress插件开发

如果您曾经使用WordPress快速构建一个网站,那么您很可能会使用提供的众多插件之一来扩展此流行的博客软件的功能。插件是使WordPress如此吸引人的众多内容之一。如果您需要图像库或联系表格,则可能已经可以下载并使用了一个插件。但是,有时候您找不到现有插件所需的东西。本文将向您展示如何通过引导您浏览一个示例来使用侧边栏中的小部件显示一些文本来创建自己的WordPress插件。

钥匙要点

    在无法找到满足其需求的现有插件时,可以创建
  • WordPress插件,该插件扩展了博客软件的功能。创建过程涉及在WP-Content/插件目录中创建一个新的子目录,并在PHP文件注释中提供描述符以识别插件。
  • WordPress提供了一个可以扩展以创建自定义小部件的WP_Widget类。 WP_WIDGET类具有应覆盖的四种方法:__construct(),form(),update()和widget()。这些方法初始化了小部件,显示用于自定义的表单,更新小部件属性,并分别在博客上显示小部件。
  • >
  • 创建WordPress插件时,遵循最佳实践,例如使用适当的命名约定,通过验证和消毒用户输入来确保安全,并使插件可翻译以吸引更多受众。可以通过遵守WordPress编码标准并使用不同的主题来测试插件来实现与所有主题的兼容性。
  • 调试WordPress插件涉及使用内置的调试系统或带有调试器的PHP IDE。确保插件的安全性涉及验证和消毒用户输入,使用NONCES验证请求源,设置正确的文件权限以及使用WordPress API函数进行数据操作。定期更新和测试可以帮助识别潜在的安全漏洞。

主插件文件

从WordPress安装目录中的WP-CONTENT/插件目录自动检测插件。创建新插件时,您应该在那里创建一个新的子目录。子目录的名称可以是您想要的任何东西;一个明智的选择是将其称为插件的名称。尽量避免使用诸如“ textwidget”或“ shoppingcart”之类的通用名称,因为它可能已经与另一个插件一起使用,如果您希望将其分发给WordPress的其他用户,则会引起问题。在此示例中,创建一个名为phpmaster_examplewidget的子目录。 WordPress检测插件是否可以从PHP文件的注释中的描述符中获得。描述符必须提供有关插件的基本信息,谁创建了该插件以及其许可信息。这就是WordPress用来识别存在插件并准备激活的插件。此示例插件将在您新创建的phpmaster_examplewidget目录中放置在顶部的定义。文件的名称也是任意的,但建议提供一个含义名称。此示例将调用文件widget_init.php。
<span><span><?php
</span></span><span><span>/* 
</span></span><span><span>Plugin Name: Simple Text Plugin
</span></span><span><span>Plugin URI: http://www.example.com/textwidget
</span></span><span><span>Description: An example plugin to demonstrate the basics of putting together a plugin in WordPress
</span></span><span><span>Version: 0.1 
</span></span><span><span>Author: Tim Smith 
</span></span><span><span>Author URI: http://www.example.com
</span></span><span><span>License: GPL2 
</span></span><span><span>
</span></span><span><span>    Copyright 2011  Tim Smith
</span></span><span><span>
</span></span><span><span>    This program is free software; you can redistribute it and/or
</span></span><span><span>    modify it under the terms of the GNU General Public License,
</span></span><span><span>    version 2, as published by the Free Software Foundation. 
</span></span><span><span>
</span></span><span><span>    This program is distributed in the hope that it will be useful,
</span></span><span><span>    but WITHOUT ANY WARRANTY; without even the implied warranty of 
</span></span><span><span>    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
</span></span><span><span>    GNU General Public License for more details. 
</span></span><span><span>
</span></span><span><span>    You should have received a copy of the GNU General Public License 
</span></span><span><span>    along with this program; if not, write to the Free Software 
</span></span><span><span>    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 
</span></span><span><span>    02110-1301  USA 
</span></span><span><span>*/</span></span>
登录后复制
登录后复制
登录后复制
这是您将为WordPress创建的任何插件所需的结构。现在,当您登录并查看WordPress中的插件管理屏幕时,您会看到新的插件已准备就绪。

WordPress插件开发

您可以在此处显示在“评论”部分中输入的所有信息。如果愿意,您可以立即激活它,但是您仍然需要添加一些功能,然后才能执行任何功能。 现在,具有此定义的文件被认为是与插件关联的任何代码的起点。定义注释后出现的代码将执行,使您有机会初始化插件及其功能。

WordPress小部件

WordPress提供了一个类,您可以扩展名为wp_widget。当您扩展它时,您自己的小部件将用于您主题提供的任何侧边栏。 WordPress带有许多默认小部件,例如“最近的帖子”和“档案”,它们扩展了wp_widget。 WP_Widget类提供了四种应覆盖的方法:
  • __ construct() - 调用父构建器并初始化任何类变量
  • form() - 在管理员视图中显示小部件的表单以自定义窗口小部件的属性
  • >
  • update() - 更新admin View 中表单中指定的小部件属性
  • widget() - 在博客上显示小部件

构造函数

构造函数就像您可能编写的任何其他构造函数一样。重要的是要记住的是调用可以进行三个参数的父构建器:小部件的标识符,小部件的友好名称(这将显示为admin Widget屏幕中的窗口小部件的标题)和一个数组详细说明小部件的属性(仅需要“描述”值)。
<span><span><?php
</span></span><span><span>/* 
</span></span><span><span>Plugin Name: Simple Text Plugin
</span></span><span><span>Plugin URI: http://www.example.com/textwidget
</span></span><span><span>Description: An example plugin to demonstrate the basics of putting together a plugin in WordPress
</span></span><span><span>Version: 0.1 
</span></span><span><span>Author: Tim Smith 
</span></span><span><span>Author URI: http://www.example.com
</span></span><span><span>License: GPL2 
</span></span><span><span>
</span></span><span><span>    Copyright 2011  Tim Smith
</span></span><span><span>
</span></span><span><span>    This program is free software; you can redistribute it and/or
</span></span><span><span>    modify it under the terms of the GNU General Public License,
</span></span><span><span>    version 2, as published by the Free Software Foundation. 
</span></span><span><span>
</span></span><span><span>    This program is distributed in the hope that it will be useful,
</span></span><span><span>    but WITHOUT ANY WARRANTY; without even the implied warranty of 
</span></span><span><span>    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
</span></span><span><span>    GNU General Public License for more details. 
</span></span><span><span>
</span></span><span><span>    You should have received a copy of the GNU General Public License 
</span></span><span><span>    along with this program; if not, write to the Free Software 
</span></span><span><span>    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 
</span></span><span><span>    02110-1301  USA 
</span></span><span><span>*/</span></span>
登录后复制
登录后复制
登录后复制
有了基本的小部件结构,您将需要注册小部件,并确保在所有其他小部件都在初始化的时候完成此操作。注册小部件是通过寄存器_widget()函数完成的,该函数获取一个参数,即扩展WP_Widget的类的名称。必须在适当的时间调用此注册小部件的调用,因此您要使用的特定WordPress挂钩称为“ widgets_init”。要将注册小部件注册的挂钩关联,您使用add_action()将钩子的名称作为第一个参数,而函数则作为第二个参数。 (第二个参数可以是函数的字符串名称或闭合。)该代码应直接放在widget_init.php中创建的插件的描述下。
<span><span><?php
</span></span><span><span>class TextWidget extends WP_Widget
</span></span><span><span>{
</span></span><span>    <span>public function __construct() {
</span></span><span>        <span><span>parent::</span>__construct("text_widget", "Simple Text Widget",
</span></span><span>            <span>array("description" => "A simple widget to show how WP Plugins work"));
</span></span><span>    <span>}
</span></span><span><span>}</span></span>
登录后复制
登录后复制
现在已经注册并初始化了它,您将可以看到可用于使用的小部件。

form()方法

此处的示例小部件应该让您输入一个标题和一些文本,在博客上查看时要显示一些文本,因此,为了能够修改小部件的这两个方面,您需要创建一个表单以提示这些值。 form()方法在小部件管理屏幕中使用,以显示字段,您以后可以使用该字段来更改站点本身上窗口小部件的功能。该方法采用一个参数,一个与小部件关联的变量的$实例数组。提交表单后,小部件将调用Update()方法,该方法允许您在$实例中更新具有新值的字段。后来,将调用widget(),并将使用$实例显示值。
<span><span><?php
</span></span><span><span>add_action("widgets_init",
</span></span><span>    <span>function () { register_widget("TextWidget"); });
</span></span><span><span>?></span></span>
登录后复制
您使用wp_widget’s get_field_id()方法和get_field_name()方法分别为表单字段创建ID和名称。 WordPress将为您生成唯一标识符,以免与使用中的其他小部件发生冲突,并且在提交表单时,值将更新相关的$实例数组项目。您可以使用传递的$实例参数在设置值的情况下填充表单字段。 这就是Admin视图中表格的样子:

WordPress插件开发

父元素本身,保存按钮以及删除和关闭链接是通过WordPress自动为您生成的,因此无需明确编码它们。表单将发布变量并调用Update()方法,以便可以将新值插入$实例。

update()方法

更新() 在小部件使用之前,让您有机会验证和消毒实例变量。在这里,您可以根据旧值做出决策,并相应地更新新值。 update()必须返回包含您在显示小部件时期望使用的项目的数组。 WordPress将两个参数传递给了它,一个带有新实例值的数组和一个带有原始实例值的数组。
<span><span><?php
</span></span><span><span>/* 
</span></span><span><span>Plugin Name: Simple Text Plugin
</span></span><span><span>Plugin URI: http://www.example.com/textwidget
</span></span><span><span>Description: An example plugin to demonstrate the basics of putting together a plugin in WordPress
</span></span><span><span>Version: 0.1 
</span></span><span><span>Author: Tim Smith 
</span></span><span><span>Author URI: http://www.example.com
</span></span><span><span>License: GPL2 
</span></span><span><span>
</span></span><span><span>    Copyright 2011  Tim Smith
</span></span><span><span>
</span></span><span><span>    This program is free software; you can redistribute it and/or
</span></span><span><span>    modify it under the terms of the GNU General Public License,
</span></span><span><span>    version 2, as published by the Free Software Foundation. 
</span></span><span><span>
</span></span><span><span>    This program is distributed in the hope that it will be useful,
</span></span><span><span>    but WITHOUT ANY WARRANTY; without even the implied warranty of 
</span></span><span><span>    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
</span></span><span><span>    GNU General Public License for more details. 
</span></span><span><span>
</span></span><span><span>    You should have received a copy of the GNU General Public License 
</span></span><span><span>    along with this program; if not, write to the Free Software 
</span></span><span><span>    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 
</span></span><span><span>    02110-1301  USA 
</span></span><span><span>*/</span></span>
登录后复制
登录后复制
登录后复制
WordPress将为您持续这些值,因此无需实现该功能。

> widget()方法

widget()方法用于在博客上的侧边栏中出现在小部件中的内容。该方法的输出将渲染博客页面。 WordPress通过widget()方法两个参数:第一个是$ args,它是一个数组详细信息有关小部件的信息,第二个是$实例,您可以用它来获取与窗口小部件相关的数据的输出。 $ args确实不会影响这个示例,所以我不会参与其中;只要记住$实例是第二个参数。
<span><span><?php
</span></span><span><span>class TextWidget extends WP_Widget
</span></span><span><span>{
</span></span><span>    <span>public function __construct() {
</span></span><span>        <span><span>parent::</span>__construct("text_widget", "Simple Text Widget",
</span></span><span>            <span>array("description" => "A simple widget to show how WP Plugins work"));
</span></span><span>    <span>}
</span></span><span><span>}</span></span>
登录后复制
登录后复制
这将在网站上产生以下可能的输出:

WordPress插件开发

就是这样!将所有这些放在一起将为您提供一个非常简单的小部件,以在WordPress安装的博客侧显示文本。

摘要

现在,您熟悉WordPress插件的必要基础,以确保WordPress可以检测和激活它,并扩展WP_Widget类以创建自己的小部件。本文中介绍的示例小部件通过管理提供的配置表格演示了该功能自定义小部件的显示。尽管很简单,但它突出了您将使用的基本WP_WIDGET方法,您将很容易地从此示例中继续前进,并为自己的WordPress驱动的站点创建更大的功能。该示例的代码可在phpmaster的GitHub帐户下获得,因此您可以查看整体中的代码。 通过Bioraven / shutterstock 图像

经常询问有关WordPress插件开发的问题

我如何开始开发WordPress插件?

开始开发WordPress插件,您需要对PHP,HTML,CSS和JavaScript有基本的了解。拥有这些技能后,您可以首先在WordPress插件目录中创建一个新文件夹。在您的插件之后命名此文件夹。在此文件夹中,创建一个具有相同名称的PHP文件。该文件将用作插件的主文件。在此文件中,您需要包括一个标题注释,该评论告诉WordPress此处存在一个插件。设置基本结构后,您可以开始编写插件的功能。

WordPress插件开发的最佳实践是什么?> WordPress插件开发的一些最佳实践包括:使用适当的命名约定,以避免使用WordPress挂钩和过滤器在可能可以翻译以吸引更多的听众。保持代码清洁且征用良好以供将来参考和更新。由于可用的主题,主题可能具有挑战性。但是,使用挂钩和过滤器来遵守WordPress编码标准,而不是修改核心文件,并使用不同的主题测试插件可以帮助确保兼容性。还建议您为您的插件用户提供明确的文档和支持。

>

我如何调试我的WordPress插件?

>调试您的WordPress插件涉及识别和修复其开发过程中可能出现的任何问题或错误。 WordPress带有一个内置的调试系统,您可以在WP-Config.php文件中启用该系统。通过将wp_debug设置为true,您可以在网站的前端显示PHP错误。此外,使用PHP IDE与调试器一起可以帮助您逐步介绍代码并更有效地找到问题。

>

>我如何确保WordPress插件的安全性?

确保您的安全性确保您的安全性WordPress插件涉及多个步骤。首先,始终验证和消毒用户输入以防止SQL注入攻击。其次,使用Nonces验证请求源。第三,在插件文件中使用适当的文件权限。第四,使用WordPress API函数进行数据操作,而不是自定义SQL查询。最后,定期更新和测试您的插件是否有潜在的安全性漏洞。

>如何使我的WordPress插件友好? t对网站的加载速度产生负面影响,因为这是SEO的关键因素。另外,如果您的插件将内容添加到网站上,请确保它易于通过搜索引擎爬网和索引。如果您的插件涉及图像,请确保添加Alt标签。最后,确保您的插件与流行的SEO插件兼容。

>如何更新WordPress插件?

​​

更新WordPress插件涉及对插件文件进行必要的更改,然后递增版本插件标题评论中的编号。测试更新版本并确保其正常工作后,您可以将其上传到WordPress插件存储库中。如果您的插件托管在WordPress插件存储库上,则将通知用户WordPress仪表板中的更新。

>

>如何使我的WordPress插件用户友好?用户友好型涉及提供清晰详细的文档,包括必要的屏幕截图或视频。另外,请确保您的插件的设置和选项是直观且易于理解的。提供及时且有用的支持也可以极大地增强用户体验。

>如何测试我的WordPress插件?

>测试您的WordPress插件涉及在不同的方案以及不同的主题和插件中检查其功能。您可以将自动测试工具(例如Phpunit)进行单位测试。另外,考虑使用调试工具来确定任何错误或问题。最好在发布插件之前先提供可以提供反馈的Beta测试人员。

>

>如何将我的WordPress插件货币化?您可以提供具有基本功能和具有高级功能的优质版本的免费版本。您还可以为您的免费插件提供付费附加组件。另一个选择是免费提供您的插件,并提供付费支持或自定义开发服务。>

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

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板