构建自定义 WordPress 插件:分步指南

已发表: 2023-12-01

WordPress 之所以受欢迎,部分原因在于它的开源特性,允许开发人员创建扩展其功能的插件。 目前有超过 55,000 个可用插件,但您可能有兴趣学习如何构建自己的插件。

好消息是,即使您只有一些编码知识,WordPress 也可以相对轻松地创建基本插件。 通过开发插件,您可以向 WordPress 网站添加超出可用功能的自定义特性和功能。

在本文中,我们将深入了解 WordPress 插件是什么,并提供开发第一个插件的分步指南。 我们将介绍构建一个简单插件的编码基础知识,该插件可以为您的 WordPress 网站添加自定义特性和功能。

构建 WordPress 插件需要什么

要创建 WordPress 插件,您需要几个关键部分:

需要使用 Notepad++ 或 Atom 等文本编辑器来编写插件代码本身。 您需要将编辑器连接到托管帐户的 FTP(文件传输协议)服务器,以便能够直接修改文件。 FileZilla 和 WinSCP 等 FTP 工具可以简化将插件文件上传到 WordPress 站点的过程。

此外,您还需要安装有效的 WordPress,最好更新到最新版本。 如果您禁用了自动更新,则可以手动更新 WordPress 核心文件,但请务必先备份您的网站以防止数据丢失。 另一种选择是在本地安装 WordPress 以开发插件而不影响实时站点。

构建插件时还建议具备一些基本的 PHP 知识。 您需要编写自定义 PHP 函数并利用现有的 WordPress 函数。 至少,熟悉 PHP 约定和文件结构是有用的。

WordPress 插件的类型

WordPress 插件可以执行多种功能,但它们都用于扩展 WordPress 网站的功能。 一些常见类型的插件包括:

  • 维护插件处理安全、速度优化、备份和其他站点管理任务。
  • 用于 SEO、社交媒体集成、电子商务等的营销和销售插件。
  • 内容插件允许您创建自定义帖子类型、小部件、短代码、表单、图库和视频元素。
  • API 插件可利用 WordPress REST API 或集成 Google 地图等外部服务。
  • 添加社交网络功能的社区插件。

还有许多其他插件类别。 要了解可能性,请浏览官方 WordPress 插件目录和不同的 WordPress 插件市场。

什么是 WordPress 挂钩?

WordPress 插件使用钩子与核心代码集成。 钩子主要有两种类型:

动作钩子在特定点执行函数。 开发人员可以将自定义逻辑附加到操作挂钩以执行其他任务。 例如,wp_head 挂钩在 head 标记之前运行代码。

过滤器挂钩修改函数返回的数据。 插件可以通过自定义逻辑过滤值来更改值。 例如,the_content 过滤器会更改帖子内容。

钩子是上下文相关的——它们只在相关的地方运行。 WordPress 代码参考列出了可用的挂钩。

要使用挂钩,请使用add_action()add_filter()添加回调函数。 参数指定要附加的挂钩名称和函数。

add_action('wp_head', 'function_name');

可选参数控制顺序执行的优先级和接受参数的数量。

删除钩子类似于使用remove_action()和remove_filter()。 定义时引用原始优先级值。

现在让我们看一些例子:

这通过挂钩 wp_footer 在所有页面的页脚后面显示文本:

<?php

/* Plugin Name: Footer Text */

function footerText(){

echo "<p>My footer text</p>";

}

add_action('wp_footer', 'footerText');

这通过挂钩get_the_excerpt():

<?php

/* Plugin Name: Excerpt Changes */

function excerptText($text){

return "See the excerpt below: ". $text;

}

add_filter('get_the_excerpt', 'excerptText');

在临时站点上测试插件可以避免破坏您的实时站点。 本地安装 WordPress 或使用暂存插件。

制作 WordPress 插件的步骤

第 1 步:设置初始插件文件结构

创建插件的第一步是创建一个新文件夹来包含其文件。 为文件夹选择一个唯一的描述性名称。 检查 wp-content/plugins/ 中现有的插件文件夹以确保它尚未使用。

使用 FTP 客户端连接到您的托管帐户,这使上传更加容易。 导航到 WordPress 主目录,然后导航到 wp-content -> 插件。 在这里创建一个名为 my-new-plugin 的新文件夹来存储插件。

按功能组织插件文件夹中的文件是一种很好的做法。 例如,将 CSS、PHP 和 JavaScript 文件保存在它们自己的子目录中。 这使得插件开发时保持整洁,从而在需要时更容易找到特定文件。

为插件添加新的 PHP、CSS、JS 等文件时,请将它们存储在适当的文件夹中。 从长远来看,从一开始就维护这种结构可以使文件管理变得更加简单。

第 2 步:创建主插件文件

核心插件文件包含 WordPress 在插件列表中识别它并允许激活的信息。

在您已创建的插件文件夹中创建一个名为 my-first-plugin.php 的新 PHP 文件。 这将是主文件。

WordPress 需要标头注释来读取名称、描述和作者等元数据以进行显示。

使用文本编辑器将此代码添加到 my-first-plugin.php 中:

<?php

/*

Plugin Name: My First Plugin

Description: This is my first plugin! It adds a new menu link!

Author: Your Name

*/

此处不需要结束?>标记。 PHP 手册解释了原因。

保存文件,然后转到 WordPress 仪表板中的插件页面。 如果它有效,您将在列表中看到“我的第一个插件”。

现在,初始插件文件已设置完毕。 接下来,我们可以激活它并开始添加功能。

WordPress dashboard plugin

第 3 步:添加插件功能

为文件、函数和变量提供唯一的前缀(例如“mfp”)以避免冲突。

创建一个“includes”文件夹来存储支持文件。 在这里创建 mfp-functions.php 来保存函数。

在 my-first-plugin.php 中,使用 require_once 包含 mfp-functions.php,以便插件仅在存在时运行:

require_once plugin_dir_path(__FILE__) . 'includes/mfp-functions.php';

在 mfp-functions.php 中,创建一个使用 admin_menu 挂钩添加菜单项的函数:

add_action('admin_menu', 'mfp_Add_My_Admin_Link');

function mfp_Add_My_Admin_Link() {

// Code to add menu item

}

使用多行注释来描述功能。 对以后的调试很有帮助。

mfp_Add_My_Admin_Link() uses add_menu_page() 。 参数:

  • 页面标题
  • 菜单文字
  • 能力要求
  • 要加载的文件

这会在 admin_menu 触发时添加菜单。 上传 mfp-functions.php 以启用它。

接下来,我们将创建它加载的页面文件。

第 4 步:添加插件的管理页面

编写启用插件功能的函数后,下一步是构建菜单链接将指向的管理页面。 在您已创建的 Includes 文件夹中创建一个名为 mfp-first-acp-page.php 的新 PHP 文件。 然后添加以下代码:

<div class="wrap">

<h1>Hello!</h1>

<p>This is the first page for my plugin</p>

</div>

在制作自定义管理页面时,WordPress 建议使用“wrap”类将 HTML 包装在<div>标签中。 这样做可以保证您的内容出现在正确的位置并避免混乱。

WordPress-dashboard

页面文件完成后,转到 WordPress 仪表板中的插件区域并激活新插件。 如果成功,您的第一个插件的管理菜单链接现在将在菜单底部可见。

第 5 步:在实时 WordPress 网站上安装插件

如果您在临时 WordPress 站点上开发了该插件,则需要按照以下步骤将其安装在实时生产站点上:

  1. 在 FileZilla 中,右键单击 my-new-plugin 文件夹并选择“下载”。 将文件压缩为 .ZIP 存档。
    FileZilla download
  2. 转到 WordPress 仪表板中的“插件”菜单,然后单击“添加新插件”。
  3. 选择上传插件并选择包含您的插件的 .ZIP 文件。
    WordPress upload plugin
  4. 单击立即安装开始安装过程。

开发 WordPress 插件的最佳实践

随着您的网站的发展,您可能需要更新插件代码以获取新功能和安全补丁。 从一开始就遵循插件开发的最佳实践,为您自己和其他开发人员简化此过程。

此外,研究编码良好的插件示例以获取灵感。 分析他们的源代码组织、文件夹结构以及构建您自己的 WordPress 插件时要应用的其他技术。

以下是编码和开发高质量自定义 WordPress 插件的重要建议:

  • 首先在临时 WordPress 环境中构建和测试,以避免错误代码破坏实时网站。
  • 按功能和语言在子文件夹中逻辑组织文件以保持井井有条。
  • 使用唯一的前缀命名所有文件、文件夹和元素,以防止冲突。
  • 注释函数以记录它们所做的事情,以便以后更轻松地进行调试。
  • 为许多用户使用的复杂插件创建文档。
  • 使用版本控制来跟踪代码更改并防止更新冲突。
  • 协作时遵循 Codex 中的 WordPress 编码标准。
  • 在开发过程中使用 WP_DEBUG 或调试工具尽早发现错误。

包起来

创建自定义插件是向 WordPress 网站添加现有插件不提供的功能的一种方法。 插件可以很简单,只需进行一些细微的调整,也可以很复杂,需要修改整个站点。

与任何技能一样,需要练习才能熟练开发 WordPress 插件。 有了足够的经验,您可以构建插件并在 WordPress 插件目录中提供它们,甚至在市场上出售它们。

您构建的插件越多,您就越擅长创建自定义解决方案以新的方式扩展 WordPress 网站。 通过时间和坚持,您可以掌握 WordPress 插件开发。