Products
GG网络技术分享 2025-03-18 16:05 0
WordPress 是许多人的宠儿,这是理所当然的。 它非常易于使用、免费(或开源)、灵活,而且最好的部分是可扩展的。 多亏了插件,您可以扩展 WordPress 以添加您想要的几乎任何功能。
如果您是完美的初学者,WordPress 插件就像您手机上的应用程序一样。 您的手机运行良好,但您可以使用应用程序添加更多功能。 这同样适用于 WordPress 内容管理系统 (CMS)。
WordPress 平台已经很强大,但您可以使用插件实现更多功能。 例如,WordPress 插件允许您添加额外的功能,例如电子商务、搜索引擎优化、垃圾邮件防护、高级表单、社交媒体、更好的安全性、实时聊天、可视页面构建等等。
那里有数以千计的免费和高级 WordPress 插件。 在撰写本文时,仅官方 WordPress 插件库就有超过 59,000 个免费插件! 其他市场,例如 CodeCanyon,为您提供数以千计的优质 WordPress 插件。
也就是说,几乎所有您需要添加到 WordPress 网站的功能都可能有一个插件。 不过,有时,您可能需要上述插件源中无法提供的东西。 在这种情况下,您可能需要从头开始创建 WordPress 插件或修改(或分叉)现有插件。
在今天的帖子中,我们将向您展示如何编写一个简单的 WordPress 插件,如果您想创建一些简单的东西或一头扎进插件开发中,这很好。 有了这个序言,让我们开始吧,因为有很多东西要讲。
在我们进入有趣的部分之前,您应该知道一些基本的事情。 作为初学者,您可能会认为创建 WordPress 插件是一个难以破解的难题。 嗯,不是真的。 无论您是否拥有计算机科学学位,任何人都可以学习如何编写插件。
同时,如果您打算将来编写更多插件,一些 PHP 编码知识将有很大帮助。 那是因为 WordPress 插件是用 PHP 编程语言编码的。 有了这些知识,您将更好地了解 PHP 函数的工作原理,从而使您的工作变得轻松许多。 不过,这很容易。
此外,根据您需要的功能,您的插件可能只包含一个文件或多个文件,包括 CSS 样式表、JavaScript 脚本和媒体文件。 最后,重要的是要熟悉 WordPress 编码标准和最佳实践以保持安全。
放轻松,因为今天我们不会冒险进入复杂的东西。 我将向您展示如何编写一个简单的插件,并分享一些工具和资源,让您的工作变得轻而易举。 你还兴奋吗? 我当然希望如此?
在编写 WordPress 插件之前,您需要做一些事情。 对于初学者,不要在您的实时站点上测试您的插件。 如果出现任何问题,您可能会破坏您的网站,这会在您修复问题时导致可怕的停机时间。
相反,在本地或您的服务器上创建一个测试或登台站点。 方法如下:
或者,您可以使用诸如 Local by Flywheel 或 DevKinsta 之类的工具。
除此之外,您还需要一个文本编辑器,例如 Notepad++、SublimeText 或 Atom。 虽然这不是必需的,但您可以使用 Pluginplate 或 Plugin Boilerplate 等工具来加快开发速度(稍后会详细介绍)。
现在有趣的部分,让我们编写一个简单的 WordPress 插件。 对于本教程,我正在创建一个插件,该插件将为我正在构建的虚构餐厅网站添加自定义帖子类型。
对于初学者来说,WordPress 支持多种帖子类型,包括页面、帖子、附件、修订和导航菜单。 对于我们的案例场景,我们将创建一个添加“Recipe”自定义帖子类型的简单插件。 出于说明目的,我将我的插件称为“热门食谱”。
让我们直接潜入。
每个 WordPress 插件都有一个主文件,您可以手动创建或使用 Plugin Boilerplate 或 Pluginplate 等工具创建该主文件。 为了节省时间,让我们使用 Pluginplate(它更直观,IMO)来生成主文件和一些您以后可能需要的额外文件和文件夹。 然而,目前我们只需要主文件。
前往 Pluginplate.com,然后单击 创建你的插件 按钮,正如我们在下面突出显示的那样。
接下来,填写您的插件信息,如下所示。 在页面底部,您会注意到 模块 允许您向插件添加额外功能的部分。 另请注意,您可以通过单击 加号 (+),正如我们在下面详述的那样。 满意后点击 产生 插入 按钮:
之后,单击 下载 按钮并将您的插件保存到您的计算机。
现在,我们拥有了我们需要的所有基本文件,包括主文件。 但是不要弹出气泡,我们的插件不会做任何事情。 我们必须添加激活插件时将执行的代码。 根据我们的示例,我的主文件是 热菜谱.php,这是我们将在下一节中编辑的文件。
要找到 热菜谱.php 邮件文件,解压缩您从插件板下载的 ZIP 文件夹:
在文件夹中,您应该会看到您的主文件,在我们的例子中 - 再次 - 是 热菜谱.php:
在插件文件夹中,您可以看到一堆其他文件,但我们目前不需要这些文件。 接下来,让我们在主文件中添加一些函数。 打开主文件(热菜谱.php) 在您最喜欢的文本编辑器中(我使用的是 Notepad++)。
根据您在 Pluginplate 中填写表格的方式,您将看到以下代码或类似内容:
<?php/**
* Hot Recipes
*
* @package HOTRECIPES
* @author Freddy
* @license gplv2-or-later
* @version 1.0.0
*
* @wordpress-plugin
* Plugin Name: Hot Recipes
* Plugin URI: https://vistamedia.me
* Description: The Hot Recipes WordPress plugins adds a custom post type suitable for restaurants.
* Version: 1.0.0
* Author: Freddy
* Author URI: https://vistamedia.me
* Text Domain: hot-recipes
* Domain Path: /languages
* License: GPLv2 or later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
*
* You should have received a copy of the GNU General Public License
* along with Hot Recipes. If not, see <https://www.gnu.org/licenses/gpl-2.0.html/>.
*/
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) exit;
// Plugin name
define( 'HOTRECIPES_NAME', 'Hot Recipes' );
// Plugin version
define( 'HOTRECIPES_VERSION', '1.0.0' );
// Plugin Root File
define( 'HOTRECIPES_PLUGIN_FILE', __FILE__ );
// Plugin base
define( 'HOTRECIPES_PLUGIN_BASE', plugin_basename( HOTRECIPES_PLUGIN_FILE ) );
// Plugin Folder Path
define( 'HOTRECIPES_PLUGIN_DIR', plugin_dir_path( HOTRECIPES_PLUGIN_FILE ) );
// Plugin Folder URL
define( 'HOTRECIPES_PLUGIN_URL', plugin_dir_url( HOTRECIPES_PLUGIN_FILE ) );
/**
* Load the main class for the core functionality
*/
require_once HOTRECIPES_PLUGIN_DIR . 'core/class-hot-recipes.php';
/**
* The main function to load the only instance
* of our master class.
*
* @author Freddy
* @since 1.0.0
* @return object|Hot_Recipes
*/
function HOTRECIPES() {
return Hot_Recipes::instance();
}
HOTRECIPES();
很好,一切看起来都很棒。 上面的代码将告诉 WordPress 插件的名称以及版本、作者、许可证和其他详细信息。 您无需编辑任何内容。 让我们进入下一步。
在上面的代码下面,添加以下代码:
/*** Registers the recipes post type.
*/
function hot_recipes_register_post_types() {
// Set UI labels for the recipes post type.
$labels = array(
'name' => _x( 'Recipes', 'Post Type General Name', 'hot-recipes' ),
'singular_name' => _x( 'Recipe', 'Post Type Singular Name', 'hot-recipes' ),
'menu_name' => __( 'Recipes', 'hot-recipes' ),
'parent_item_colon' => __( 'Parent Recipe', 'hot-recipes' ),
'all_items' => __( 'All Recipes', 'hot-recipes' ),
'view_item' => __( 'View Recipe', 'hot-recipes' ),
'add_new_item' => __( 'Add New Recipe', 'hot-recipes' ),
'add_new' => __( 'Add New', 'hot-recipes' ),
'edit_item' => __( 'Edit Recipe', 'hot-recipes' ),
'update_item' => __( 'Update Recipe', 'hot-recipes' ),
'search_items' => __( 'Search Recipe', 'hot-recipes' ),
'not_found' => __( 'Not Found', 'hot-recipes' ),
'not_found_in_trash' => __( 'Not found in Trash', 'hot-recipes' ),
);
// Set other arguments for the recipes post type.
$args = array(
'label' => __( 'recipes', 'hot-recipes' ),
'description' => __( 'Recipes.', 'hot-recipes' ),
'labels' => $labels,
'supports' => array(
'title',
'editor',
'excerpt',
'author',
'thumbnail',
'comments',
'revisions',
'custom-fields',
),
'taxonomies' => array(),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'post',
'show_in_rest' => true,
);
// Registes the recipes post type.
register_post_type( 'recipes', $args );
}
add_action( 'init', 'hot_recipes_register_post_types' );
上面的代码只是用一组选项注册了我们的自定义帖子类型“食谱”。 它还添加了支持修订、自定义字段、摘录、评论、特色图像等功能。 这些是您在添加新食谱时将在帖子编辑器中看到的功能。
在旁边: 现在,作为初学者,我现在不会太担心语法,因为它超出了今天帖子的范围。 但是有了一些 PHP 知识,你就会明白上面代码的每个部分,以及每个部分的作用。 此外,互联网上有大量的资源和代码可供学习和练习。
保存所有更改。 压缩 热食谱 文件夹(这是您找到 热菜谱.php 我们刚刚编辑的主文件)到一个 热菜谱.zip 存档(在 Mac 上就像右键单击、压缩文件一样简单——在 PC 上我相信它非常相似)。 只需确保您的文件夹另存为 .ZIP 扩展名,否则插件将无法安装。
接下来,登录到您的测试站点并导航到 插件 > 添加新的, 如下所示。
接下来,单击 上传插件 按钮,从您的计算机中选择您的插件 ZIP 文件夹,然后单击 现在安装:
下一个, 启用 插件:
现在,如果您检查您的 WordPress 管理菜单,您会注意到我们的新 食谱 帖子类型,具有添加新食谱的能力:
恭喜您编写了您的第一个简单插件! 有了这个介绍,您可以更进一步,玩弄代码,看看您能得到什么。 此外,您可以研究其他插件的源代码(所有 WordPress 插件都是开源的)以了解更多信息。
现在你所需要的只是更多的资源(查看插件手册)和大量的练习,你很快就会像传说中的那样编码。
编程和编写 WordPress 插件一开始看起来很吓人,尤其是作为初学者。 但是有了正确的工具和一些学习资源,您可以立即像老板一样开发插件。 只需要一些编码和决心,你就成功了一半。
我希望本教程在理解插件方面为您指明了正确的方向。 这篇文章应该作为开发复杂的 WordPress 插件的垫脚石,可以做任何你想做的事情。 不要停在这里,查看我上面推荐的资源,以增加您对 WordPress 插件开发的了解。
如果您发现本教程对您有帮助,或者您还有其他要添加的内容,我们很想知道。 请在下面的评论部分分享您的想法。 再见!
Demand feedback