Wordpress如何添加顶级菜单,和移除、隐藏顶级菜单?
Wordpress后台有很多我们必须要的功能,客户会误点等之类的原因,所以我们需要隐藏一些自定义菜单,但是隐藏顶级菜单,可能下面某一个子菜单是我们需要的。
首先我们先隐藏菜单,这里分为2种隐藏,一种是自带的,
隐藏自带的写这段函数即可
show_admin_bar(false);
add_filter('show_admin_bar', '__return_false');
//关闭后台菜单和删除wordpress自带一些功能
//__('Dashboard') : 控制板菜单
//__('Posts') : 文章
//__('Media') : 媒体
//__('Links') : 链接
//__('Pages') : 页面
//__('Comments') : 评论
//__('Appearance') : 外观
//__('Plugins') : 插件
//__('Users') : 用户
//__('Tools') : 工具
//__('Settings') : 设置
remove_action('welcome_panel', 'wp_welcome_panel');
function remove_menus() {
global $menu;
$restricted = array(
__('Posts'),
__('Links'),
__('Comments'),
__('Dashboard'),
__('Tools'),
__('Appearance'),
__('Plugins') ,
// __('Pages'),
__('Users'),
__('Settings')
);
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(strpos($value[0], '<') === FALSE) {
if(in_array($value[0] != NULL ? $value[0]:"" , $restricted)){
unset($menu[key($menu)]);
}
}else {
$value2 = explode('<', $value[0]);
if(in_array($value2[0] != NULL ? $value2[0]:"" , $restricted)){
unset($menu[key($menu)]);
}
}
}
}
if (is_admin()){
add_action('admin_menu', 'remove_menus');
}
function wp_hide_nag() {
remove_action( 'admin_notices', 'update_nag', 3 );
}
add_action('admin_menu','wp_hide_nag');
可以选择隐藏哪些菜单,上面有提示,修改即可。
另外一种是隐藏第三方的菜单:
function hide_edit_menu()
{
remove_menu_page('edit.php?post_type=acf-field-group');
}
add_action('admin_menu', 'hide_edit_menu', 999);
修改里面的URL'edit.php?post_type=acf-field-group'
即可。
然后是如何添加顶级菜单,这里已添加导航栏菜单为例。
add_action('admin_menu', 'register_custom_menu_page');
function register_custom_menu_page() {
add_menu_page('自定义菜单标题', '导航栏菜单', 'administrator', '/nav-menus.php','', 'dashicons-admin-links', 20);
}
修改title和URL即可。