我需要隐藏/删除WordPress后端中的菜单和子菜单。
主菜单项:
admin.php?page=themeit_dashboard
子菜单项:
admin.php?page=themeit_dashboard&tab=builder
admin.php?page=_options&tab=1
admin.php?page=themeit_dashboard&tab=license
我已经尝试了下面的代码,但这不起作用。其中两个子页面链接到同一页面,但显示不同的选项卡。
function remove_menus(){
if ( !current_user_can( 'manage_options' ) ) {
remove_menu_page( 'admin.php?page=themeit_dashboard' ); //themeit
remove_submenu_page( 'admin.php?page=themeit_dashboard', 'admin.php?page=themeit_dashboard&tab=builder' ); //themeit
remove_submenu_page( 'admin.php?page=_options', 'admin.php?page=_options&tab=1' ); //themeit
remove_submenu_page( 'admin.php?page=themeit_dashboard', 'admin.php?page=themeit_dashboard&tab=license' ); //themeit
}
}
add_action( 'admin_menu', 'remove_menus' );
你可以通过使用 current_user_can(( 和 remove_menu_page 来做到这一点,就像你尝试的那样。
但它也可以通过无需编码来完成。很久以前,我正在使用一个名为"高级访问管理器"的插件。使用该插件或任何类似的插件。
有了这些,您将能够根据具有很酷的 UI 的角色在菜单上分配权限。
我个人确实发现这很容易。
将null($parent_slug( 设置为隐藏子菜单项的第一个参数add_submenu_page。
add_submenu_page (
null,
'Admin Post',
'Admin Post',
'manage_options',
'admin-post',
'admin_post_page'
)
如果你不明白,你可以观看视频:https://youtu.be/TGVGgbQ-GNs