昨天分享了WordPress后台侧边栏添加顶级菜单 ,今儿再分享一下在 wordpress 后台侧边栏添加子菜单的方法,用到的函数是:add_submenu_page()。
函数用法:
add_submenu_page( $parent_slug, $pag赵子精雨e_title, $menu_title, $capability, $menu_slug, $function );下面说说各参数:
$parent_slug:(字符串) (必须)顶级菜单名称,可以在顶级菜单中加入我们的子菜单,也可以在自定义顶级菜单中加入子菜单;
几种情况:
在仪表盘添加子菜单: add_submenu_page( 'index.php', … ); 在文章处添加子菜单: add_submenu_page( 'edit.php', … ); 在媒体处添加子菜单: add_submenu_page( 'upload.php', … ); 在链接处添加子菜单: add_submenu_page( 'link-manager.php', … ); 在页面处添加子菜单: add_submenu_page( 'edit.php?post_type=page', … ); 在评论处添加子菜单: add_s叶必密考斗刑创蛋ubmenu_page( 'edit-commen肥事区危众ts.php', … ); 在你自定义文章类型处添加子菜单: add_submenu_page('edit.php?post_type=your_post_type与收士',…) 在外观处添加子菜单: add_submenu_page( 'themes.php', … ); 在插件处添加子菜单: add_submenu_page( 'plugins.ph标叶沉屋呀考把军旧p', … ); 在用户处添加子菜单: add_submenu_page( 'u负触谓哥sers.php', … ); 在工具处添加子菜单: a缺dd_submenu_page( 'tools.php', … ); 在设置处添加子菜单: ad绍和控策维使受占旧环侵d_submenu_page( 'options-gen请皇讲汉造席eral.php', … ); $page_title:(字符串) (必须) 这个参数是子菜单的标题,将会显示在浏览器的标题栏,默认为空; $menu_title:(字符串) (必须) 显示的菜单名称,默认为空; $capabili福初毫约线ty:(字符串) (对话刘村低春继张始济必须) 用户权限,定义了具有哪些权限的用户会看到这个子菜单(权限部分请看文章结尾处),默认为空,参照capability; $men站坏货跟强晶那论抓u_slug:(字符串) (必须) 显示在U女Rl上面的菜单名称,默认为空; $function:所有调用的函数名称,通过调用这个函数来显示这个子菜单页面的内容。下面举两个例子,先上图:
1、在顶级菜单“工具(tools)”下添加子菜单
<?php add_action('admin_menu', 'register_等需副准汽气究场沿土织my_custom_submenu_page'); function register_my_custom_submenu_page() { add_submenu_page( 'tools.php', '喜进子菜单', '子菜单名称', 'manage_options', 'my-custom-submenu-page', 'my_custom_s各径的旧践ubmenu_pag扩席生家扬衡武e_callback' ); } function my_custom_submenu_page_callback() { echo '<h3>子菜单的页面内容</h3>'; } ?>2、在自定义的顶级菜单中添加子菜单
<?php function add_diy_menu() { add_menu_page(__('顶级菜单'),__('顶级菜单名称'),8,__FILE__,'my_function_menu'); add_submenu_page(__FILE__,'子菜单1','子菜单名称1',8,'your-admin-sub-menu1','my_function_submenu1'); add_submenu_page(__FILE__,'子菜单2','子菜单名称2',8,'your-admin-sub-menu2','my_function_submenu2'); } function my_function_menu() { echo "<h2>顶级菜单的页面内容</h2>"; } function my_function_submenu1() { echo "<h2>子菜单1的页面内容</h2>"; } function my_function_submenu2() { echo "<h2>子菜单2的页面内容</h2>"; } add_action('admin_menu','add_diy_menu'); ?>最后附上:各个用户角色所具有的权限,可以参看这个对应关系表:Capability vs. Role Table,横坐标是用户角色,纵坐标是用户权限,中间蓝色高亮部分为各个角色所拥有的权限。