添加菜单

add_menu_page():添加一个顶级菜单

<?php   
add_menu_page( $page_title, //菜单页标题
               $menu_title, //菜单标题
               $capability, //访问权限
               $menu_slug,  //菜单别名
               $function,   //执行函数
               $icon_url,   //菜单图标
               $position    //菜单位置
             );
?>

add_submenu_page():添加一个子菜单

<?php   
add_submenu_page( $parent_slug, //父菜单别名
                  $page_title,  //菜单页标题
                  $menu_title,  //菜单标题
                  $capability,  //访问权限
                  $menu_slug,   //菜单别名
                  $function    //执行函数
                );
?>

访问权限 $capability 的值:

administrator//管理员
editor//编辑
author//作者
contributor//投稿者
subscriber//订阅者

菜单位置 $position 的值:

这个参数决定菜单的位置,如果你的菜单 $position 为 3,就会出现在“仪表盘”下面

默认菜单对应的值:

2// Dashboard
4//Separator
5//Posts
10//Media
15//Links
20//Pages
25//Comments
59//Separator
60//Appearance
65//Plugins
70//Users
75//Tools
80//Settings
99//Separator

完整代码:

<?php
function my_menu_function(){
    add_theme_page( '菜单页标题', '菜单标题', 'administrator', 'menu1','menu1_function');
}
function menu1_function(){
    echo '自定义菜单页面内容';
}
add_action('admin_menu', 'my_menu_function');
//子菜单
function my_submenu_function() {
    add_submenu_page( 'menu1', '子菜单页标题', '子菜单标题', 'administrator', 'menu2', 'menu2_function' );    
}
function menu2_function() {
    echo '自定义子菜单页面内容';
}
add_action('admin_menu', 'my_submenu_function');
?>

上面的代码直接添加到 function.php 里,不过为了方便更好的维护,可以新建一个mymenu.php,写入上面的代码,然后在 function.php 里添加

<?php include_once('myfunctions.php'); ?>

实际上 wordpress 自带直接在默认顶级菜单下添加子菜单的函数,比如 add_theme_page():在“外观”菜单下添加一个子菜单

<?php
add_theme_page( $page_title, //菜单页标题
                $menu_title, //菜单标题
                $capability, //访问权限
                $menu_slug,  //菜单别名
                $function    //执行函数
                );
?>

类似的函数还有add_dashboard_page(), add_posts_page()等等,去官网看吧。

移除菜单

<?php remove_menu_page( $menu_slug ); ?>
<?php remove_submenu_page( $menu_slug, $submenu_slug ); ?>

标签: