初学者如何创建WordPress插件

How to Create a WordPress Plugin

你已经学习和使用WordPress很长时间,现在,你打算更进一步: 构建自己的插件。 别担心,这并不像听起来那么可怕! ;

无论您是想解决网站上的某个具体问题,还是灵活运用您的编码技能,本分步指南如何创建 WordPress 插件都将带您一步步完成整个过程;

步骤 1. 创建插件前的先决条件

在开始编写您的第一个 WordPress 插件之前,让我们来确保您已经具备了为成功做好准备所需的一切。

基本要求

为 WordPress 创建插件并不需要您是编码高手,但熟悉以下内容会让您的创建过程更加顺利:

  • PHP: 这是 WordPress 的主要编程语言。 如果您会编写基本的 PHP,就可以使用了!
  • HTML & CSS:这些将帮助您对插件中任何面向用户的元素进行样式和结构设计。
  • WordPress结构:熟悉WordPress管理仪表板,了解主题、插件和钩子将为您节省时间。

但不要紧张! 即使你是新手,也有很多资源可以帮助你掌握这些技能。

你需要的工具

您还需要合适的工具来编码、测试和调试您的插件。 以下是一份快速清单:

  1. 本地开发环境。 将其视为您的编码乐园,您可以在此测试您的插件,而不会影响实时网站。 XAMPPWAMP, 或 Local by Flywheel 等工具都是设置本地 WordPress 安装的好帮手。
  2. WordPress 测试网站。 这可以是您的本地设置或暂存网站。 切勿在您的实时网站上测试新插件(相信我,这是您不希望学到的惨痛教训)。
  3. 一个好的文本编辑器或集成开发环境。 Visual Studio CodeSublime Text、 或 PHPStorm 都是常用的选项。 选择一个您觉得合适的选项。
  4. WordPress 插件手册:这是插件开发的官方指南。 它涵盖了从基本钩子到高级 API 集成的所有内容。

第 2 步 创建插件文件夹

是时候开始工作了–创建插件的框架。 这是插件的地基。

每个插件都有自己的专用文件夹。 下面介绍如何创建一个:

  1. 导航至 WordPress 安装目录。
  2. 打开 wp-content/plugins 文件夹。
  3. 创建一个新文件夹,并为其命名一个反映插件用途的唯一名称。 例如,如果您正在构建一个社交分享插件,您可以将其命名为 social-sharing.
Custom plugin folder

专业提示:使用小写字母,并使用连字符分隔单词。 这样可以保持整洁和专业!


第 3 步:创建主插件文件

接下来,让我们添加为插件提供动力的主文件。

1. 在新文件夹中,创建一个与文件夹名称相同的 PHP 文件。 例如,如果文件夹名为 社交分享,文件应为 社交分享.php

Custom plugin file

2. 在文本编辑器中打开文件,添加插件头。 这将告诉 WordPress 有关您插件的基本细节。 下面是一个例子:

<?php
/**
 * Plugin Name: Social Sharing
 * Plugin URI: https://yourwebsite.com
 * Description: A simple plugin to add social sharing buttons to your posts.
 * Version: 1.0
 * Author: Your Name
 * Author URI: https://yourwebsite.com
 * License: GPL2
 */
?>

保存您的文件并庆祝一下–您已经迈出了创建 WordPress 插件的第一步! 🎉


步骤 4. 激活插件

现在,让我们来看看你的插件是如何运行的(虽然现在你的插件是空的)。

  1. 前往 WordPress 仪表板。
  2. 转到 Plugins > Installed Plugins
  3. 在列表中找到您的插件,然后单击激活
Activate custom plugin

成功! 你的插件上线了;

它现在什么也做不了,但您已经成功设置了框架;


第 5 步:添加基本功能

是时候让您的插件做点什么了! 您将通过编写简单的代码为插件添加基本功能。

WordPress 自定义插件的基本功能是指插件激活时执行的初始功能或操作。

每个功能都以 PHP 中的函数开始。 函数允许你封装插件执行的逻辑;

下面是一个如何在 WordPress 网站页脚添加自定义信息的简单示例:

1. 打开插件的主文件(social-sharing.php 或类似文件)。

2. 添加此代码:

<?php
// Hook to display a custom footer message
function add_custom_footer_message() {
	echo '<p>Thank you for visiting my website!</p>';
}
add_action('wp_footer', 'add_custom_footer_message');
?>

解释:

  • add_custom_footer_message(): 此函数包含要添加的 HTML。
  • add_action(‘wp_footer’, ‘add_custom_footer_message’)add_action 函数将您的自定义函数连接到 WordPress 的 wp_footer 操作,该操作在加载页脚时运行。

3. 保存文件,刷新网站,然后滚动到页脚;

Custom plugin example

好了! 您的自定义消息就会出现。

这只是一个简单的示例,但在开发 WordPress 插件时,您可以使用钩子执行更多操作,例如添加样式、脚本,甚至创建自定义功能。

什么是 “钩子 “以及 “钩子 “为何重要

钩子是 WordPress 中最强大的功能之一。 它们允许您 “挂钩 “WordPress的核心功能,并在特定位置执行您的自定义代码。 这意味着您可以在不修改 WordPress 核心文件的情况下修改网站或为网站添加新功能。

钩子主要有两种类型:

  • 动作钩子:这些钩子可让您在 WordPress 执行过程中的特定点添加功能。 例如,使用 wp_footer 动作钩子,您可以在网站页脚插入自定义内容或脚本。
  • Filter Hooks(过滤钩子):这些钩子允许您在显示或处理现有数据之前对其进行修改。 例如,您可以使用过滤钩子来更改特定 WordPress 消息的文本。

钩子是一种灵活的工具,可以让您完全控制 WordPress 的行为方式,因此是任何插件开发的重要组成部分。


第六步:添加管理页面

大多数插件都有一个管理员页面,用户可以在这里调整设置。 让我们为您的插件创建一个基本设置页面:

1. 在插件主文件中添加以下代码:

<?php
// Add a menu item for the plugin
function social_sharing_add_admin_menu() {
	add_menu_page(
    	'Social Sharing Settings', // Page title
    	'Social Sharing',      	// Menu title
    	'manage_options',      	// Capability
    	'social-sharing',      	// Menu slug
    	'social_sharing_settings_page' // Callback function
	);
}
add_action('admin_menu', 'social_sharing_add_admin_menu');

// Create the settings page content
function social_sharing_settings_page() {
	echo '<h1>Social Sharing Settings</h1>';
	echo '<p>Welcome to the settings page! Customize your plugin here.</p>';
}
?>

2. 刷新 WordPress 管理仪表板;

Custom plugin admin example

您将看到一个名为 Social Sharing 的新菜单项。 点击它查看插件的第一个设置页面!

第 7 步:处理插件设置

您需要保存和检索设置,使您的插件具有真正的交互性。 WordPress 的Options API 使这一切变得简单。

快速洞察: 了解 WordPress 选项 API

Options API 是 WordPress 的一项内置功能,允许您保存、检索和更新网站数据库中的数据。 它通常用于插件和主题开发,以存储设置和配置,是创建动态和交互式插件的重要工具。

下面是它的工作原理:

  • 保存数据: update_option() 函数可让您保存用户偏好、插件设置或任何自定义数据等信息。 例如,保存用户输入的自定义页脚信息。
  • 检索数据: get_option() 函数用于获取已保存的数据,并在插件中显示或使用这些数据。
  • 删除数据:如果您不再需要特定的设置,可以使用 delete_option() 函数清理数据库。

使用选项 API 可确保高效、可靠地存储插件设置,而无需直接与数据库交互。 这是一种安全的、WordPress 认可的插件数据管理方式。

以下是如何添加表单以保存设置(例如,自定义页脚信息的文本):

1. 将 social_sharing_settings_page 函数替换为以下内容:

// Create the settings page content
function social_sharing_settings_page() {
	if (isset($_POST['footer_text'])) {
    	update_option('social_sharing_footer_text', sanitize_text_field($_POST['footer_text']));
    	echo '<div class="updated"><p>Settings saved!</p></div>';
	}

	$footer_text = get_option('social_sharing_footer_text', 'Thank you for visiting my website!');

	echo '<h1>Social Sharing Settings</h1>';
	echo '<form method="POST">';
	echo '<label for="footer_text">Footer Message:</label>';
	echo '<input type="text" id="footer_text" name="footer_text" value="' . esc_attr($footer_text) . '" style="width: 100%; max-width: 400px;">';
	echo '<br><br>';
	echo '<input type="submit" value="Save Settings" class="button button-primary">';
	echo '</form>';
}

2. 用以下函数替换现有的 add_custom_footer_message 函数:

<?php
// Hook to display a custom footer message
function add_custom_footer_message() {
    // Retrieve the saved message from the database
    $footer_message = get_option('social_sharing_footer_text', 'Thank you for visiting my website!');
    
    // Display the message
    echo '<p>' . esc_html($footer_message) . '</p>';
}
add_action('wp_footer', 'add_custom_footer_message');
?>

在第一个版本中,该函数使用硬编码信息。 但是,当我们引入用户可以保存自定义信息的设置页面时,必须更新该函数,以便从数据库中检索保存的值。

3. 当您访问插件的设置页面时,您将看到一个表单。

Custom plugin admin example 2

输入自定义信息并保存,然后就能看到它出现在网站页脚!

Custom plugin example 2

恭喜您! 您刚刚为插件添加了实际功能;

这仅仅是个开始–您可以从这里继续创建更多高级功能;


步骤 8. 测试和调试插件

您的插件已初具雏形,现在是确保其完美运行的时候了。 测试和调试是避免使用您的插件时出现意外问题的关键步骤。

WordPress 有几个内置功能和插件可以帮助跟踪问题。

在 WordPress 中启用调试功能

wp-config.php文件中添加以下代码:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

这会将任何错误记录到 wp-content 文件夹中的 debug.log 文件中。 您可以查看该文件,找出问题所在。

使用调试插件

Query Monitor 等插件可提供有关插件性能、数据库查询等的实时反馈。 从 WordPress 插件库中安装该插件并开始探索其洞察力。

PHP 错误日志

如果您在本地进行测试,可使用 error_log() 记录自定义信息进行调试。 例如

error_log('Testing: This function is running correctly.');

查看服务器的错误日志,查看输出结果。

测试

测试可确保您的插件在不同环境下都能按照预期运行。 下面介绍如何有效地进行测试:

  1. 测试主题:检查您的插件是否能与各种 WordPress 主题配合使用。 如果主题覆盖了某些功能或样式,有时会出现冲突。
  2. 测试插件:同时激活其他流行插件。 确保没有兼容性问题或错误。
  3. 跨浏览器测试:如果您的插件具有前端元素,请在 Chrome、Firefox、Safari 和 Edge 等常用浏览器上进行测试,以确保外观和功能的一致性。
  4. 移动响应性: 许多用户使用移动设备浏览网页。 请使用浏览器的开发工具或在线工具(如BrowserStack )来测试您的插件在移动设备上的外观和性能。

您已经构建并测试了您的插件,非常出色! 现在,让我们为它的面世做好准备。


第 9 步:整理插件文件

无论您是打算公开分享还是在多个网站上使用,正确打包插件都能确保其易于安装和分发。

在打包之前,请确保插件整洁有序。 典型的插件文件夹可能如下所示:

social-sharing/
├── social-sharing.php
├── includes/
│   ├── helper-functions.php
├── assets/
│   ├── css/
│   │   ├── style.css
│   ├── js/
│   │   ├── script.js
├── templates/
│   ├── admin-page.php
└── readme.txt

说明:

  • includes/: 包含函数、钩子和插件核心逻辑的 PHP 文件。
  • assets/: 包含 CSS、JavaScript 和图片等静态资产。
  • templates/: 包含管理页面、设置表单或前端输出的 HTML 模板。
  • readme.txt: 提供有关您的插件的详细信息,尤其是当您将其提交到 WordPress 插件库时。

第 10 步:添加自述文件

一个精心编写的 readme.txt 文件是必不可少的,尤其是当您要将插件提交到 WordPress 插件库时。 以下是该文件的基本结构:

=== Social Sharing ===
Contributors: yourusername
Tags: social media, sharing, social icons
Requires at least: 5.0
Tested up to: 6.3
Requires PHP: 7.2
Stable tag: 1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

== Description ==
A simple plugin to add social sharing buttons to your WordPress posts and pages.

== Installation ==
1. Upload the `social-sharing` folder to the `/wp-content/plugins/` directory.
2. Activate the plugin through the Plugins menu in WordPress.
3. Go to Settings > Social Sharing to configure.

== Changelog ==
= 1.0 =
* Initial release.

该文件提供安装说明,并让用户快速了解您的插件。


第 11 步:压缩插件

您需要将插件压缩成 .zip 文件来发布。 具体方法如下:

  1. 导航至插件文件夹(social-sharing)。
  2. 选择插件目录中的所有文件和文件夹。
  3. 右键单击并选择 Compress 或 Add to Zip (取决于您的操作系统)。
  4. 为压缩文件命名(例如,social-sharing-plugin.zip )。

第 12 步:将插件提交到 WordPress 存储库(可选)

想与 WordPress 社区分享您的插件? 以下是向官方插件库提交插件的方法:

  1. 创建 WordPress.org 账户: 如果您还没有账户,请在 WordPress.org 上注册。
  2. 提交您的插件:访问 “添加您的插件 “页面并按照步骤提交。
  3. 等待批准:WordPress 团队将审核您的插件。 一旦通过审核,您将收到使用 Subversion (SVN) 上传插件文件的说明。

您的插件已准备好与全世界分享,或在您的网站上使用!


最后的提示

恭喜您 您已经创建、测试并打包了您的 WordPress 自定义插件。 在结束之前,让我们回顾一下保持插件高效、安全和用户友好的一些最佳实践。

1. 保持代码整洁和模块化

有条理的代码不只是为了美观,它还能让调试和更新插件变得更容易。 以下是如何保持代码整洁的方法:

  • 将代码分割成不同功能的独立文件。
  • 使用注释记录代码的每个部分。
  • 遵循WordPress编码标准

2. 遵循 WordPress安全最佳实践

创建插件时,安全性至关重要。 始终如此:

对用户输入进行清理

Sanitization 可确保在处理之前对用户提供的数据进行清理。 例如,使用 sanitize_text_field() 和 sanitize_email() 等函数清理输入数据:

$name = sanitize_text_field($_POST['name']);

验证输入

Validation 确保用户输入在处理前符合特定条件:

if (!is_numeric($_POST['age'])) {
	wp_die('Invalid age input.');
}

Escaping 输出

Escaping 通过将特殊字符转换为 HTML 实体,确保数据在浏览器中安全显示。 使用 esc_html() 和 esc_attr() 等函数可安全地显示用户输入:

echo esc_html($data);

使用 Nonces

Nonces (数字使用一次)是用于验证用户请求的令牌。 在表单和操作中添加 nonces 可防止跨站请求伪造 (CSRF)。 例如

<form method="post" action="">
	<?php wp_nonce_field('social_sharing_settings', 'social_sharing_nonce'); ?>
	<input type="submit" value="Submit">
</form>

3. 优化性能

没人喜欢会拖慢网站速度的插件! 以下是保持快速的方法:

  • 只在需要的页面加载样式和脚本。 巧妙使用 wp_enqueue_scripts 钩子。
  • 避免运行不必要的数据库查询。 尽可能缓存结果。

4. 了解 WordPress 的最新变化

WordPress 发展迅速。 定期更新您的插件,确保与最新的 WordPress 版本兼容。 在测试版 WordPress 的暂存环境中测试您的插件可以帮助您保持领先。

分享你的喜爱

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注