wp query - Show menus to one admin username

admin2025-06-06  4

So I've got this code which does the reverse of what I want it to do.

add_action('admin_menu', 'remove_admin_menu_links');
function remove_admin_menu_links(){
    $user = wp_get_current_user();
    //if( $user && isset($user->user_email) && '[email protected]' == $user->user_email ) {
    if( !$user && isset($user->user_login) && 'USERNAMEHERE'  == $user->user_login ) {
        remove_menu_page('tools.php');
        remove_menu_page('tools.php');
        remove_menu_page('themes.php');
        remove_menu_page('options-general.php');
        remove_menu_page('plugins.php');
    remove_menu_page('users.php');
    remove_menu_page('edit-comments.php');
    remove_menu_page('page.php');
    remove_menu_page('upload.php');
    remove_menu_page( 'edit.php?post_type=page' ); 
    remove_menu_page( 'edit.php?post_type=videos' );
    remove_menu_page( 'edit.php' );

    }
}

remove_theme_support( 'user-admin-menu' );

So the above code hides admin menu's if the username is "USERNAMEHERE", however id like it to do the complete opposite, so id like all menu's to be hidden to all admins apart from a certain username.

I thought adding ! inside the if statement might have done it but it doesnt seem to work ?

So I've got this code which does the reverse of what I want it to do.

add_action('admin_menu', 'remove_admin_menu_links');
function remove_admin_menu_links(){
    $user = wp_get_current_user();
    //if( $user && isset($user->user_email) && '[email protected]' == $user->user_email ) {
    if( !$user && isset($user->user_login) && 'USERNAMEHERE'  == $user->user_login ) {
        remove_menu_page('tools.php');
        remove_menu_page('tools.php');
        remove_menu_page('themes.php');
        remove_menu_page('options-general.php');
        remove_menu_page('plugins.php');
    remove_menu_page('users.php');
    remove_menu_page('edit-comments.php');
    remove_menu_page('page.php');
    remove_menu_page('upload.php');
    remove_menu_page( 'edit.php?post_type=page' ); 
    remove_menu_page( 'edit.php?post_type=videos' );
    remove_menu_page( 'edit.php' );

    }
}

remove_theme_support( 'user-admin-menu' );

So the above code hides admin menu's if the username is "USERNAMEHERE", however id like it to do the complete opposite, so id like all menu's to be hidden to all admins apart from a certain username.

I thought adding ! inside the if statement might have done it but it doesnt seem to work ?

Share Improve this question asked Nov 15, 2018 at 10:56 Randomer11Randomer11 41611 silver badges31 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 1
    function hide_menu() {
    global $current_user;
    $current_user = wp_get_current_user();
    $user_name = $current_user->user_login; 

        //check condition for the user means show menu for this user
        if(is_admin() &&  $user_name != 'USERNAME') {

        //your code here
   }
}
add_action('admin_head', 'hide_menu');
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1749178227a317019.html

最新回复(0)