跳转到主要内容

子菜单

添加子菜单

要向 WordPress 管理添加新的子菜单,请使用该add_submenu_page()功能。


add_submenu_page(
	string $parent_slug,
	string $page_title,
	string $menu_title,
	string $capability,
	string $menu_slug,
	callable $function = ''
);

例子

假设我们要向“工具”顶级菜单添加一个子菜单“WPOrg Options”。

第一步是创建一个输出 HTML 的函数。在此函数中,我们将执行必要的安全检查并呈现我们使用Settings API注册的选项。

笔记:我们建议使用wrap.

function wporg_options_page_html() {
	// check user capabilities
	if ( ! current_user_can( 'manage_options' ) ) {
		return;
	}
	?>
	

第二步是注册我们的 WPOorg 选项子菜单。注册需要在admin_menu操作挂钩期间进行。

function wporg_options_page()
{
	add_submenu_page(
		'tools.php',
		'WPOrg Options',
		'WPOrg Options',
		'manage_options',
		'wporg',
		'wporg_options_page_html'
	);
}
add_action('admin_menu', 'wporg_options_page');

有关参数列表以及每个参数的作用,请参阅 参考文献中的add_submenu_page() 。

预定义子菜单

$parent_slug如果我们有帮助函数来定义WordPress 内置顶级菜单并使我们免于通过源代码手动搜索它,那不是很好吗?

下面是父 slugs 及其辅助函数的列表:

删除子菜单

删除子菜单的过程与删除顶级菜单的过程完全相同。

提交表格

在子菜单中处理表单提交的过程与在顶级菜单中提交表单完全相同。

add_submenu_page()与预定义子菜单(add_dashboard_pageadd_posts_page等)的所有函数一起将返回 a $hookname,您可以将其用作 的第一个参数,add_action以便处理自定义页面中表单的提交:

function wporg_options_page() {
	$hookname = add_submenu_page(
		'tools.php',
		'WPOrg Options',
		'WPOrg Options',
		'manage_options',
		'wporg',
		'wporg_options_page_html'
	);

	add_action( 'load-' . $hookname, 'wporg_options_page_html_submit' );
}

add_action('admin_menu', 'wporg_options_page');

一如既往,不要忘记检查表单是否正在提交,进行 CSRF 验证、验证和清理。