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');
?>
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 }