Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何创建一个简单的 WordPress 插件

如何创建一个简单的 WordPress 插件

原创
作者头像
小颖club
发布于 2022-04-10 08:17:25
发布于 2022-04-10 08:17:25
1.2K02
代码可运行
举报
文章被收录于专栏:建站技术博客建站技术博客
运行总次数:2
代码可运行

如何编写一个简单的 WordPress插件

每个 WordPress 插件都有一个主文件,您可以手动创建或使用 Plugin Boilerplate 或 Pluginplate 等工具创建该主文件。为了节省时间,让我们使用 Pluginplate(它更直观,IMO)来生成主文件和一些您以后可能需要的额外文件和文件夹。然而,目前我们只需要主文件。

创建主文件

前往Pluginplate.com,然后单击Create Your Plugin按钮,如下所示。

接下来,填写您的插件信息,如下所示。在页面底部,您会注意到 允许您向插件添加额外功能的模块部分。另请注意,您可以通过单击 加号 (+)来自定义每个模块,如下所述。满意后,单击 Generate Plugin按钮:

之后,单击 下载按钮并将插件保存到您的计算机。

现在,我们拥有了我们需要的所有基本文件,包括主文件。但是不要弹出气泡,我们的插件不会做任何事情。我们必须添加激活插件时将执行的代码。根据我们的示例,我的主文件是 hot-recipes.php,这是我们将在下一节中编辑的文件。

添加功能

要找到 hot-recipes.php邮件文件,请提取您从 Pluginplate 下载的 ZIP 文件夹:

在文件夹中,您应该会看到您的主文件,在我们的例子中,它是 hot-recipes.php

在插件文件夹中,您可以看到一堆其他文件,但我们目前不需要这些文件。接下来,让我们在主文件中添加一些函数。在您最喜欢的文本编辑器(我使用的是 Notepad++)中打开主文件(hot-recipes.php )。

根据您在 Pluginplate 中填写表格的方式,您将看到以下代码或类似内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?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 插件的名称以及版本、作者、许可证和其他详细信息。您无需编辑任何内容。让我们进入下一步。

在上面的代码下面,添加以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 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 知识,你就会明白上面代码的每个部分,以及每个部分的作用。此外,互联网上有大量的资源和代码可供学习和练习。

压缩你的插件文件夹

保存所有更改。将 hot-recipes文件夹(这是您找到 我们刚刚编辑的hot-recipes.php主文件的文件夹)压缩到hot-recipes.zip存档中(在 Mac 上,只需右键单击、压缩文件即可PC 我相信它非常相似)。只需确保您的文件夹另存为 .ZIP 扩展名,否则插件将无法安装。

接下来,登录到您的测试站点并导航到Plugins > Add New,如下所示。

接下来,单击 Upload Plugin按钮,从您的计算机中选择您的插件 ZIP 文件夹,然后单击Install Now

接下来,激活插件:

现在,如果您检查您的 WordPress 管理菜单,您会注意到我们的新食谱帖子类型,并具有添加新食谱的能力:

恭喜您编写了您的第一个简单插件!有了这个介绍,您可以更进一步,玩弄代码,看看您能得到什么。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
WordPress插件设计
如果是Php开发的同学,或者对博客和CMS有一定了解的同学都知道这个,以下是百度的解释:
心平气和
2020/09/11
8940
WordPress插件设计
WordPress插件开发,从入门到精通。
WordPress插件开发手册:https://developer.wordpress.org/plugins/
房东的狗丶
2023/02/17
1.2K0
WordPress插件开发,从入门到精通。
如何开发一个简单的WordPress 插件
WordPress 是一个强大的内容管理系统(CMS),其灵活性和可扩展性使得它成为全球最受欢迎的网站构建平台之一。WordPress 插件是扩展 WordPress 功能的主要方式,开发一个插件不仅可以满足特定需求,还可以为其他用户提供便利。本文将详细介绍 WordPress 插件开发的各个方面,包括插件的基本结构、开发流程、常用 API、最佳实践等,帮助开发者从零开始掌握 WordPress 插件开发。
flyskyocean
2024/11/12
6680
如何发布插件到 WordPress 官方插件站
把你的插件发布到 WordPress 官方插件目录是让更多人用到插件的好方法,这样可以让你的插件不仅仅给我们中国人民使用,而且还可以让你的插件给全世界人民使用,想想全世界人民都在用你的插件这是多么美好的事情啊, 🙂 我已经在 WordPress 官方插件库发布了几个插件,下面我就给大家讲讲如何把你的插件发布到官方插件目录。 在开始之前你需要了解 SVN 的知识,可以查看这篇文章:TortoiseSVN 简明使用 1. 注册一个 WordPress.org 的账号。 到 WordPress 支持论坛,注册一个
Denis
2023/04/14
5010
如何发布插件到 WordPress 官方插件站
史上最详细的WordPress的自定义文章类型指南(1)
最近我发现有很多从google过来的奇怪的关键字,比如best screenshot app 这种,可能是我的这个域名bestscreenshot.com 当时买的有点太随意了。不过这正好也给了我一点灵感,一直以来我自己也算是对各种优秀的工具和软件挺感兴趣的,不管是命令行的还是图形化界面的也都积攒了好多好东西,正好可以在博客上做一点推荐,也可以算作是一种优质内容的补充。
丘壑
2019/04/26
4.5K0
如何搭建 WordPress 博客
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。它是使用PHP语言和MySQL数据库开发的。用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。WordPress有许多第三方开发的免费模板,安装方式简单易用。所以,对于初学者来说,我强烈建议使用WordPress来搭建网站。因为这是最简单易用的平台,且使用于任何开发者,用户以及自媒体作家。
Mr.Crypto
2018/10/17
7.8K2
如何搭建 WordPress 博客
至顶至底 (雷姆拉姆)WordPress插件
既《至顶至底 (雷姆拉姆)emlog插件》插件发布后,特此发布WordPress版本的插件。
泽泽社长
2023/04/17
1870
至顶至底 (雷姆拉姆)WordPress插件
wordpress添加post_type自定义文章类型
  wordpress很强大,能当博客也能进行二次开发出很完善的内容管理系统满足企业运营需求,比如可以添加products产品模型、汽车模型等,如何实现呢?添加post_type自定义文章类型就可以了
ytkah
2019/11/18
1.6K0
wordpress添加post_type自定义文章类型
如何构建智能反垃圾邮件的WordPress插件
在本文中,我们将为您展示如何构建一个利用机器学习来阻止垃圾邮件、成人邮件,甚至是负面评论的WordPress插件。该插件兼容WordPress 3.6v或更高版本,并且使用了Datumbox API 1.0v。尽管本文讨论了WordPress插件的开发,但我们应该注意到通过使用Datumbox API,可以非常方便地保护任何类型的在线社区免受垃圾邮件、攻击性或不适当的内容侵害。具体实现请继续往下阅读。
後來
2018/01/29
1.3K0
如何构建智能反垃圾邮件的WordPress插件
WordPress插件开发教程一:创建、停用、删除插件
在wp-content/plugins创建一个文件夹,命名最好加前缀,WordPress官方现在应该收录了有五万多的插件,所以要起一个特殊的名称,防止插件和别人重名
沈唁
2019/05/21
9110
WordPress 路径相关函数总结(三):插件路径相关函数
上一篇文章是《WordPress 路径相关函数总结(二):主题路径相关函数》,今天这一篇则是针对WordPress 插件的函数,对于开发WordPress 插件的开发者很有帮助;之前在更新S-shortcodes v2.1.0 版本的时候就是采用了下面其中一个函数才完美解决路径的问题。 plugins_url() 获取当前插件的目录的URI,例如一个插件位于/wp-content/plugins/myplugin下,该目录下放有插件的主文件名为myplugin.php,在myplugin.php中执行下面的
Jeff
2018/01/19
8940
一步一步教你制作的第一个 WordPress 插件
WordPress 中的插件是添加或扩展功能的组件,可根据需要启用或禁用,并且不会干扰核心程序/软件及其代码。WordPress 被设计为轻量级和流畅的,以增加灵活性并减少对基本网站功能可能不重要的代码。然后插件添加自定义特性和功能,允许用户根据他们的特定要求设计站点。
海拥
2022/05/07
1.8K0
一步一步教你制作的第一个 WordPress 插件
全部WordPress查询数组参考
WordPress输出内容时用到最多的就是$args =array( 这个查询数组,这篇文章给大家分享所有的,WordPress查询综合参考
小颖club
2022/04/12
8010
WordPress二次开发之自定义文章类型
wordpress默认这样一种文章类型===文章,我们可以对齐进行二次开发添加属于自己的文章类型,如作品、案例等
切图仔
2022/09/14
6250
WordPress二次开发之自定义文章类型
给WordPress新添加一个古腾堡编辑器
在WordPress中添加一个额外的古腾堡编辑器(Gutenberg Editor)实例可以通过自定义代码实现。以下是一个基本的步骤指南,帮助你在WordPress中添加第二个古腾堡编辑器实例。
WordPress爱好者
2024/10/17
1530
给WordPress新添加一个古腾堡编辑器
wordpress 内容备份镜像站点建立方法及注意事项
作为虾米级站长一枚,实则是不懂代码的菜鸟,由于自己的站点是小水管主机,而且稳定性也难以保障,在很多访客的建议下,也想建立一个内容镜像站点,以实现当主站的主机维护时,能够有一个备用站点让访客访问。
墨铺网
2019/07/30
1K0
使用函数register_post_type()给你的WordPress添加一个说说/心情/动态页面
我们在写博客时,有时候会想写写自己的心情或者觉得好的句子。但是如果特地发一个只有一句话甚至几个字的单章的话总觉得怪怪的。几不利于收录也不美观,所以这里我们搭建一个专门发动态的页面,用register_post_type( ) 函数创建一个新的帖子类型。
Daimon
2022/03/22
7200
借助Github 为第三方WordPress 主题/插件添加“自动更新”功能
WordPress 官方的主题/插件依赖与官方服务器可以实现后台自动更新或升级。如果你的作品托管到Github 上则可以通过下面几个projects 方便实现WordPress 主题/插件添加“更新升级”功能——就像官方的那样自动升级。 WordPress-GitHub-Plugin-Updater 简介 WordPress-GitHub-Plugin-Updater 是一个WordPress 的第三方类。如果你的WordPress 插件是托管到Github 上的,借助这个类可以实现类似WordPress
Jeff
2018/01/22
1.5K0
借助Github 为第三方WordPress 主题/插件添加“自动更新”功能
Emlog插件简单开发文档教程,emlog插件制作指南
emlog 支持插件机制,这样使得开发者可以方便地向emlog 中添加自己需要的功能。
用户8099761
2023/05/10
8550
如何登录到你的 WordPress 管理仪表板
WordPress 是一个内容管理系统 (CMS),这意味着它是一种简化生成、存储和显示 Web 材料的过程的工具。WordPress 最初是作为一种改进日常写作常规排版的工具。但是,它被用作博客工具,随着我们接近今年第四季度,WordPress 仍然是使用最广泛的 CMS 系统,不仅在博客中。WordPress 是一个完全开源的程序,会定期更新。可以在此处找到存储库。与任何其他开源软件一样,WordPress 依赖于它的社区。
海拥
2022/10/04
1.6K0
如何登录到你的 WordPress 管理仪表板
推荐阅读
相关推荐
WordPress插件设计
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验