php在菜单栏里加子菜单,如何在wordpress后台添加子菜单,你需要了解add_submenu_page()的用法...

今天小雨给大家分享的 wordpress 后台定制是如何添加一个子菜单页面:

add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function,$position);

参数#参数

$parent_slug

(字符串) (必需) 父菜单的名称(或标准 WordPress 管理页面的文件名)。

$page_title

(字符串) (必需) 选择菜单时在浏览器标签中显示的文本。

$menu_title

(字符串) (必填) 用于菜单显示的文本,也就是你在左侧实际看到的文本。

$capability

(字符串) (必需) 向用户显示此菜单所需的权限,也就是说定义哪些用户可以看到这些权限。

$menu_slug

(字符串) (必需) 此菜单在浏览器地址栏显示的 url(?page=url)。此菜单应该唯一,并且仅包含小写字母数字,破折号和下划线字符,以便与 sanitize_key()兼容。

$function

(callable) (可选) 将被调用以输出此页面内容的函数。

默认值: ''

$position

(int) (可选) 应在菜单项中显示此项目的位置。

默认值:null

那么 wordpress 有哪些标准的管理页面呢?你可以把鼠标放到各个菜单下来查看浏览器左下角显示的链接,大概有下面这些:

1、在仪表盘添加子菜单: add_submenu_page( 'index.php', … );

2、在文章处添加子菜单: add_submenu_page( 'edit.php', … );

3、在媒体处添加子菜单: add_submenu_page( 'upload.php', … );

4、在链接处添加子菜单: add_submenu_page( 'link-manager.php', … );

5、在页面处添加子菜单: add_submenu_page( 'edit.php?post_type=page', … );

6、在评论处添加子菜单: add_submenu_page( 'edit-comments.php', … );

7、在你自定义文章类型处添加子菜单: add_submenu_page('edit.php?post_type=your_post_type',…)

8、在外观处添加子菜单: add_submenu_page( 'themes.php', … );

9、在插件处添加子菜单: add_submenu_page( 'plugins.php', … );

10、在用户处添加子菜单: add_submenu_page( 'users.php', … );

11、在工具处添加子菜单: add_submenu_page( 'tools.php', … );

12、在设置处添加子菜单: add_submenu_page( 'options-general.php', … );

权限这些又是如何定义的呢?一般我们填'manage_options'就够了,如果需要细分这些权限,可以参考官方最新文档:https://wordpress.org/support/article/roles-and-capabilities/

说了这么多,小雨给大家举个例子吧:就来一个高级点的例子,假设我们在一个类中调用这个函数,那么 function 应该为一个数组,该数组中的第一个值是该类的实例,而该数组中的第二个值将是对象中的方法(给定作为字符串)。

Class WPDocs_AdminPage

{

private $_plugin_name;

private $_version;

public function __construct( $plugin_name, $version )

{

$this->_plugin_name = $plugin_name;

$this->_version = $version;

}

public function wpdocs_create_menu_and_submenu_page()

{

add_menu_page(

'PAGE TITLE', 'MENU TITLE', 'CAPABILITY', 'menu_slug',

array( $this, 'wpdocs_method_name_in_the_class' ), 'icon_url', 'POSITION'

);

add_submenu_page(

'parent_slug', 'PAGE TITLE', 'MENU TITLE', 'CAPABILITY', 'menu_slug',

array( $this, 'wpdocs_method_name_in_the_class' )

);

}

}

$admin_page = new WPDocs_AdminPage;

add_action( 'admin_menu', array( $admin_page, 'wpdocs_create_menu_and_submenu_page' ) );

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值