描述
这个函数接受一个能力(capability),它将被用来确定一个页面是否包括在菜单中。
用于处理页面输出的函数必须检查用户是否具有所需的能力。
参数
- $page_title
-
(string)(必填) 选中菜单时要在页面标题标签中显示的文本。
- $menu_title
-
(string)(必填) 要用于菜单的文本。
- $capability
-
(string)(必填) 向用户显示此菜单所需的能力。
- $menu_slug
-
(string)(必填) 用于引用此菜单的slug名称(对于此菜单应是唯一的)。
- $callback
-
(callable)(可选) 要调用以输出此页面内容的函数。
默认值: ''
- $position
-
(int)(可选) 此项应出现在菜单顺序中的位置。
默认值: null
返回
(string|false) 返回结果页面的hook_suffix,如果用户不具备所需的能力则返回false。
更多信息
- 此函数是调用add_submenu_page()的简单包装器,传递接收到的参数并指定“
options-general.php
”作为$parent_slug
参数。这意味着新选项页面将作为“设置”菜单的子菜单添加。 $capability
参数用于根据当前用户的角色和能力,确定该页面是否包含在菜单中。- 处理选项页面输出的函数还应验证用户的能力。
- 如果
slug
中有空格,则在生成URL时将去掉这些空格。这将导致一条错误消息,告诉您没有足够的权限查看页面。
源码
更新日志
版本 | 描述 |
---|---|
5.3.0 | 添加了$position 参数。 |
1.5.0 | 开始引入 |
使用示例
面向对象选项页辅助程序/视图
/** * Class for registering a new settings page under Settings. */ class WPDocs_Options_Page { /** * Constructor. */ function __construct() { add_action( 'admin_menu', array( $this, 'admin_menu' ) ); } /** * Registers a new settings page under Settings. */ function admin_menu() { add_options_page( __( 'Page Title', 'textdomain' ), __( 'Circle Tree Login', 'textdomain' ), 'manage_options', 'options_page_slug', array( $this, 'settings_page' ) ); } /** * Settings page display callback. */ function settings_page() { echo __( 'This is the page content', 'textdomain' ); } } new WPDocs_Options_Page;
基本示例
典型用法出现在使用“admin_menu”挂钩注册的函数中(请参见添加管理菜单):
/** * Registers a new options page under Settings. */ function wpdocs_my_plugin_menu() { add_options_page( __( 'My Options', 'textdomain' ), __( 'My Plugin', 'textdomain' ), 'manage_options', 'my-plugin.php', 'my_plugin_page' ); }
请将此挂接到admin_menu(而不是网页上其他文章中的admin_init)。
根据包装add_submenu_page()的文档:
如果您运行时在
wp_die()
屏幕上显示消息:您没有足够的权限访问此页面。则说明您过早的挂钩了,您应该使用的挂钩是admin_menu。