add_menu_page
是 WordPress 提供的一个函数,用于在 WordPress 管理后台菜单中添加一个顶级菜单页面。这个函数可以用来创建自定义的管理页面,例如插件设置页面或自定义的管理功能页面。以下是 add_menu_page
函数的详细解释和示例。
函数语法
1 2 3 4 5 6 7 8 9 |
add_menu_page( string $page_title, string $menu_title, string $capability, string $menu_slug, callable $function = '', string $icon_url = '', int $position = null ); |
参数解析
$page_title
(string) (必需):- 页面标题,这个标题将显示在页面的
<title>
标签中。
- 页面标题,这个标题将显示在页面的
$menu_title
(string) (必需):- 菜单标题,这个标题将显示在管理菜单中。
$capability
(string) (必需):- 权限字符串,指定用户需要具备的权限才能访问此菜单页面。
$menu_slug
(string) (必需):- 菜单的唯一标识符,通常是页面 URL 的 slug。
$function
(callable) (可选):- 回调函数,当用户点击菜单项时调用此函数。该函数负责渲染页面内容。
$icon_url
(string) (可选):- 图标 URL,用于显示在菜单项旁边。可以是 Dashicons 字符串或完整的 URL。
$position
(int) (可选):- 菜单的位置,相对于其他菜单项的位置。
示例代码
以下是一个完整的示例代码,展示如何使用 add_menu_page
在 WordPress 管理后台添加一个自定义菜单页面。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<?php /* Plugin Name: Custom Admin Page Description: 一个示例插件,展示如何在 WordPress 管理后台添加自定义菜单页面 Version: 1.0 Author: 你的名字 */ if (!defined('ABSPATH')) { exit; // 避免直接访问 } // 添加管理菜单 function custom_admin_menu() { add_menu_page( '自定义管理页面', // 页面标题 '自定义页面', // 菜单标题 'manage_options', // 权限 'custom-admin-page', // 菜单 slug 'custom_admin_page_content', // 回调函数 'dashicons-admin-generic', // 图标 25 // 位置 ); } add_action('admin_menu', 'custom_admin_menu'); // 回调函数,渲染页面内容 function custom_admin_page_content() { ?> <div class="wrap"> <h1><?php _e('欢迎来到自定义管理页面', 'textdomain'); ?></h1> <p><?php _e('这是一个自定义的管理页面。', 'textdomain'); ?></p> </div> <?php } ?> |
详细解释
- 插件头部信息:描述插件的基础信息,包括名称、描述、版本和作者。
custom_admin_menu
函数:使用add_menu_page
函数添加一个新的顶级菜单页面。'自定义管理页面'
:这是页面标题。'自定义页面'
:这是菜单标题。'manage_options'
:只有具有manage_options
权限的用户(通常是管理员)才能看到这个菜单。'custom-admin-page'
:这是菜单的 slug,URL 中会用到。'custom_admin_page_content'
:这是点击菜单项时调用的回调函数。'dashicons-admin-generic'
:这是菜单项旁边显示的图标。25
:这是菜单项在管理菜单中的位置。
custom_admin_page_content
函数:这是回调函数,用于渲染自定义菜单页面的内容。- 使用 HTML 和 PHP 生成页面内容。
__('...')
和_e('...')
用于国际化,分别返回和直接输出翻译后的字符串。
结论
通过使用 add_menu_page
函数,你可以轻松地在 WordPress 管理后台创建自定义的管理页面。这对于插件开发和为用户提供自定义功能非常有用。你可以根据需要进一步扩展页面的功能和内容,例如添加表单、处理表单提交等。