创建 WordPress 插件(第一部分):添加管理页面

WordPress 是互联网上最受欢迎的内容管理系统之一。它是用 PHP 创建的,可以处理从博客到商业网站的一切需求。事实上,我们的博客网站都使用 WordPress。在本文中,我将向你展示如何创建一个 WordPress 插件,该插件会在管理员控制台中创建一个菜单项及对应的页面。

Hello World!

让我们从一个简单的插件开始,它会在所有页面上显示"Hello World!"。

<?php

/*

Plugin Name: Test plugin

Description: A test plugin to demonstrate wordpress functionality

Author: Simon Lissack

Version: 0.1

*/

echo "<h1>Hello world!</h1>";

?>

插件的入口文件需要包含一个头部注释,这是 WordPress 用来识别插件的标志。这个头部注释仅对插件的主文件是必需的(其他 PHP 文件可以通过 include 或 require_once 引入)。至少需要在头部注释中包含"Plugin Name",插件才能显示在插件子目录中。保存文件时,请确保它位于 WordPress 安装目录的"wp-content/plugins"子目录中。我建议将插件放在该目录下的一个子文件夹中,以便更好地组织管理。

启用插件时,进入 WordPress 管理面板,选择"插件"菜单选项。找到新插件并激活它。激活后,网站的每个页面左上角都会显示"Hello World!"。尽管这种方式不太实用,但可以帮助我们了解 WordPress 插件的工作原理。WordPress 对插件的处理方式使其具有很高的可插拔性。当一个插件被激活时,WordPress 会运行插件的主 PHP 文件。这意味着我们需要控制插件的激活时机。

创建一个新的管理面板

现在我们已经知道如何让 WordPress 识别一个插件了,可以继续创建一个有实际用途的插件。一个好的起点是在侧边栏创建一个菜单项,允许我们在管理控制台中添加一个页面。这对于让 WordPress 网站的管理员配置插件非常有用。

为此,我们需要挂钩到加载管理菜单的操作。当 WordPress 加载一个页面时,会运行一系列的操作,我们可以使用 add_action 函数将我们的代码挂钩到其中。在下面的代码中,我们将在管理面板中创建一个菜单项,点击后会跳转到一个显示"Hello World!"的页面。

复制代码
<?php
/*
Plugin Name: Test plugin
Description: A test plugin to demonstrate wordpress functionality
Author: Simon Lissack
Version: 0.1
*/
add_action('admin_menu', 'test_plugin_setup_menu');

function test_plugin_setup_menu(){
	add_menu_page( 'Test Plugin Page', 'Test Plugin', 'manage_options', 'test-plugin', 'test_init' );
}

function test_init(){
	echo "<h1>Hello World!</h1>";
}

?>

以下是相关函数的介绍:

复制代码
add_action('admin_menu', 'test_plugin_setup_menu');

这里,我们将代码挂钩到管理菜单开始加载的时刻,并告诉 WordPress 我们想运行 test_plugin_setup_menu 函数,这个函数稍后会定义。

复制代码
add_menu_page('Test Plugin Page', 'Test Plugin', 'manage_options', 'test-plugin', 'test_init');

以上代码是我们添加菜单页面和菜单项的地方。第一个参数 'Test Plugin Page' 是选项页面的标题。第二个参数 'Test Plugin' 是管理面板上的菜单标签。第三个参数用于限制访问权限,只有具有特定权限的用户才能看到该菜单项。第四个参数 'test-plugin' 是用于标识菜单的 slug。最后一个参数 'test_init' 是我们选择菜单项时需要调用的函数名,用于输出页面的 HTML。在这个例子中,我们只是简单地输出"Hello World!"。现在,我们已经设置了一个选项页面,可以作为进一步探索 WordPress 功能的基础。

如果想了解更多关于创建 WordPress 插件的信息,我建议查阅官方的 Codex 文档,那里有非常详细的说明。

下一篇:如何在插件中使用 Web 服务。

相关推荐
李@十一₂⁰22 分钟前
HTML 特殊字体符号
前端·html
9***P3344 小时前
PHP代码覆盖率
开发语言·php·代码覆盖率
小小测试开发5 小时前
JMeter XPath2 Extractor用法全解析:精准提取XML/HTML响应数据
xml·jmeter·html
shouchaobao6 小时前
免费PDF工具:PDF转Word/Excel/图片+AI总结+合并拆分+OCR识别,多端无广告!
pdf·word·excel
2501_941623327 小时前
C++高性能网络服务器与epoll实战分享:大规模并发连接处理与事件驱动优化经验
开发语言·php
catchadmin8 小时前
PHP True Async RFC 被拒——原生异步离 PHP 还有多远?
开发语言·php
J***79398 小时前
PHP在电商中的Magento
开发语言·php
不会玩电脑的Xin.9 小时前
HTML + CSS
前端·css·html
云计算老刘9 小时前
1.项目实战:LAMP-LNMP-分离部署
linux·mysql·php·apache·mariadb
能鈺CMS11 小时前
内容付费系统全面解析:构建知识变现体系的最强工具(2025 SEO 深度专题)
大数据·人工智能·html