web-dev-qa-db-fra.com

Masquer le menu administrateur pour un ID utilisateur spécifique ayant un rôle d'administrateur

J'essaie de masquer presque tous les menus de l'administrateur du tableau de bord wordpress pour un ID d'utilisateur spécifique ayant un rôle d'administrateur. Je souhaite donner à cet utilisateur uniquement la possibilité de modifier un certain type de message personnalisé intitulé leçons et d'autres événements de type message personnalisé.

J'utilise LMS wordpress theme de themeforest by designthemes. Je ne suis pas sûr de savoir pourquoi ce thème ne donne simplement pas accès à l'admin WP-admin pour un autre rôle que l'administrateur, tel qu'éditeur, contributeur, etc. J'ai donc décidé d'attribuer ce rôle d'administrateur utilisateur spécifique afin qu'il puisse accéder à wordpress tableau de bord. Ensuite, mon plan est simplement de masquer un autre menu administrateur pour cet utilisateur.

J'ai utilisé le plugin appelé User role editor pro et d'autres plugins gratuits. mais rien ne semble fonctionner avec cela. Ensuite, j'ai essayé avec le code ci-dessous. Mais ce code supprime également ces menus d'administration des autres tableaux de bord administrateur, où je souhaite que ces menus soient supprimés pour cet ID utilisateur uniquement. L'identifiant de cet utilisateur est 279 ici. Toute aide est appréciée. Ceci est le lien du site https://impactmarketingsystems.com/

<?php
function hide_menu(){
 global $current_user;
 $user_id = get_current_user_id();
 // echo "user:".$user_id;   // Use this to find your user id quickly

    if($user_id != '279'){

        // To remove the whole Appearance admin menu you would use;

        remove_menu_page( 'themes.php' );

        // To remove the theme editor and theme options submenus from
        // the Appearance admin menu, as well as the main 'Themes'
        // submenu you would use 

        remove_menu_page( 'index.php' );
        remove_submenu_page( 'index.php', 'update-core.php' );

        remove_submenu_page( 'themes.php', 'themes.php' );
        remove_submenu_page( 'themes.php', 'theme-editor.php' );
        remove_submenu_page( 'themes.php', 'theme_options' );

        remove_menu_page( 'users.php' );
        remove_submenu_page( 'users.php', 'user-new.php' );
        remove_submenu_page( 'users.php', 'profile.php' );

        remove_menu_page( 'upload.php' );
        remove_submenu_page( 'upload.php', 'media-new.php' );
        remove_submenu_page( 'upload.php', 'upload.php?page=wp-smush-bulk' );

        remove_menu_page( 'admin.php?page=Wordfence' );
        remove_submenu_page( 'admin.php?page=Wordfence', 'media-new.php' );


        remove_menu_page( 'edit.php?post_type=dt_teachers' );
        remove_submenu_page( 'edit.php?post_type=dt_teachers', 'post-new.php?post_type=dt_teachers' );

        remove_menu_page( 'edit.php?post_type=dt_portfolios' );
        remove_submenu_page( 'edit.php?post_type=dt_portfolios', 'post-new.php?post_type=dt_portfolios' );
        remove_submenu_page( 'edit-tags.php?taxonomy=portfolio_entries', 'edit-tags.php?taxonomy=portfolio_entries&post_type=dt_portfolios' );

        remove_menu_page( 'edit.php' );
        remove_submenu_page( 'edit.php', 'post-new.php' );
        remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=category' );
        remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=post_tag' );


        // Remove Page menu Items
        remove_menu_page( 'edit.php?post_type=page' );
        remove_submenu_page( 'edit.php?post_type=page', 'post-new.php?post_type=page' );


        // Remove Comments Menu

        remove_menu_page( 'edit-comments.php' );

        //// Remove LMS Menu
        remove_menu_page( 'admin.php?page=parent' );

         remove_menu_page( 'tools.php' );                  //Tools
         remove_menu_page( 'options-general.php' );        //Settings

          remove_menu_page( 'plugins.php' );        //Plugins

          remove_menu_page( 'edit.php?post_type=product' );





// Not working
// Remove WP Contacts Items  
        remove_menu_page( 'admin.php?page=shwcp_options' );
        remove_submenu_page( 'admin.php?page=shwcp_options', 'admin.php?page=shwcp_options&db=1' );
        remove_submenu_page( 'admin.php?page=shwcp_options', 'admin.php?page=shwcp_add_db' );
        remove_submenu_page( 'admin.php?page=shwcp_options', 'admin.php?page=shwcp_delete_db' );    


        remove_menu_page( 'admin.php?page=upme-settings' ); 

        remove_menu_page( 'admin.php?page=ultimate_affiliates_pro' );     


    }
}




add_action('admin_head', 'hide_menu');

?>
1
Md. Amanur Rahman

problème est avec votre déclaration logique. vous essayez maintenant de supprimer le personnel du tableau de bord lorsque l'ID utilisateur n'est pas '279', ce qui signifie que seul l'ID utilisateur 279 peut voir le tableau de bord. vous pouvez essayer cela si déclaration

if(is_admin() && $user_id == '279'){ //your codes }
1
Kanon Chowdhury