我用它来隐藏特定用户的菜单项。对于使用该 id 的多个用户来说,执行此操作的最佳方法是什么?
add_action( 'admin_init', 'remove_menu_pages_for_user' );
function remove_menu_pages_for_user() {
if (get_current_user_id() == 1) {
//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
}
}
此代码适用于用户 1,但需要添加一或 2 个额外用户。
您可以通过获取当前用户 ID 来完成此操作,然后检查该用户是否存在于我们创建的数组中。
所以你只需要更换
if (get_current_user_id() == 1) {
与
$user_ids = array( 1, 2, 3 ); //here you can replace 1,2,3 as per the User ID for which you want to remove menu.
$current_user_id = get_current_user_id();
if ( in_array( $current_user_id, $user_ids ) ) {
它应该适合你。