如何针对多个用户ID移除/隐藏WordPress后台管理菜单
针对多用户ID隐藏WordPress后台菜单项的最优方案
原代码仅支持单个用户ID,要实现多用户适配,最优方案是用数组统一管理需要限制的用户ID,后续添加或移除用户只需修改数组内容,不用改动核心判断逻辑,扩展性和可读性都更强。
修改后的完整代码如下:
add_action( 'admin_init', 'remove_menu_pages_for_users' ); function remove_menu_pages_for_users() { // 定义需要隐藏菜单的用户ID数组,直接在这里添加/删除ID即可 $restricted_users = array(1, 2, 3); // 示例:用户ID 1、2、3 // 判断当前用户是否在限制列表中 if (in_array(get_current_user_id(), $restricted_users)) { //remove_menu_page( 'index.php' ); //Dashboard remove_menu_page( 'edit.php' ); //Posts remove_menu_page( 'upload.php' ); //Media remove_menu_page( 'edit.php?post_type=page' ); //Pages remove_menu_page( 'edit-comments.php' ); //Comments remove_menu_page( 'themes.php' ); //Appearance remove_menu_page( 'plugins.php' ); //Plugins remove_menu_page( 'users.php' ); //Users remove_menu_page( 'tools.php' ); //Tools remove_menu_page( 'options-general.php' ); //Settings } }
方案优势
- 扩展性强:后续新增或移除受限用户,只需在
$restricted_users数组里调整ID,无需修改条件判断代码 - 可读性高:一眼就能明确哪些用户被限制,逻辑清晰易懂
- 符合开发规范:用数组管理批量数据是PHP开发的常规做法,代码简洁易维护
内容的提问来源于stack exchange,提问作者jimmyk
相关产品推荐
相关产品推荐

