顶级菜单
添加顶级菜单
要将新的顶级菜单添加到 WordPress 管理,请使用add_menu_page() 函数。
add_menu_page(
string $page_title,
string $menu_title,
string $capability,
string $menu_slug,
callable $function = '',
string $icon_url = '',
int $position = null
);
例子
假设我们要添加一个名为“WPOrg”的新顶级菜单。
第一步是创建一个输出 HTML 的函数。在此函数中,我们将执行必要的安全检查并呈现我们使用Settings API注册的选项。
笔记:我们建议使用
wrap
.第二步是注册我们的 WPOorg 菜单。注册需要在admin_menu
操作挂钩期间进行。
add_action( 'admin_menu', 'wporg_options_page' );
function wporg_options_page() {
add_menu_page(
'WPOrg',
'WPOrg Options',
'manage_options',
'wporg',
'wporg_options_page_html',
plugin_dir_url(__FILE__) . 'images/icon_wporg.png',
20
);
}
有关参数列表以及每个参数的作用,请参阅 参考文献中的add_menu_page() 。
使用 PHP 文件作为 HTML
可移植代码的最佳实践是创建一个需要/包含 PHP 文件的回调。为了完整起见并帮助您理解遗留代码,我们将展示另一种方法:使用参数传递 a
PHP file path
作为参数。$menu_slug
null
$function
add_action( 'admin_menu', 'wporg_options_page' );
function wporg_options_page() {
add_menu_page(
'WPOrg',
'WPOrg Options',
'manage_options',
plugin_dir_path(__FILE__) . 'admin/view.php',
null,
plugin_dir_url(__FILE__) . 'images/icon_wporg.png',
20
);
}
删除顶级菜单
要从 WordPress 管理中删除已注册的菜单,请使用remove_menu_page() 函数。
remove_menu_page(
string $menu_slug
);
警告:删除菜单不会阻止用户直接访问它们。这绝不应该被用作限制用户能力的一种方式。
例子
假设我们要从中删除“工具”菜单。
add_action( 'admin_menu', 'wporg_remove_options_page', 99 );
function wporg_remove_options_page() {
remove_menu_page( 'tools.php' );
}
提交表格
要处理选项页面上表单的提交,您需要做两件事:
- 使用页面的 URL 作为
action
表单的属性。 - 添加一个带有 slug 的钩子,由 . 返回
add_menu_page
。
笔记:如果您在后端手动创建表单,则只需执行这些步骤。设置API是执行此操作的推荐方法。
表单动作属性
<form action="<?php menu_page_url( 'wporg' ) ?>" method="post">
无评论