Dans cette analyse approfondie, nous avons exploré plusieurs méthodes pour contrôler l’affichage et l’accès aux menus d’administration de WordPress, en particulier pour les rôles d’éditeur, tout en préservant l’accessibilité d’UpdraftPlus. Voici ce que nous avons testé et ce qui a fonctionné ou non.
1. Problématique Initiale : White Label CMS et Adminimize
Problème rencontré
L’utilisation du plugin White Label CMS a empêché les éditeurs d’accéder à UpdraftPlus, même lorsque le menu était visiblement activé dans les paramètres.
De même, Adminimize a causé un problème similaire : bien que le menu d’UpdraftPlus soit présent, l’accès était bloqué avec un message « Désolé, vous n’avez pas l’autorisation d’accéder à cette page. »
Solutions testées
- Accorder la capacité
manage_optionsaux éditeurs via User Role Editor.- Résultat : Le menu est devenu visible, mais l’accès était toujours restreint.
- Modification du slug de la page UpdraftPlus pour tester une autre capacité (
edit_pages)- Résultat : Toujours inaccessible pour les éditeurs.
- Désactivation de White Label CMS ou Adminimize
- Résultat : UpdraftPlus redevenait accessible, prouvant que le blocage venait bien de ces plugins.
Conclusion
Ces plugins appliquent des restrictions strictes sur les menus et les pages d’administration, parfois au-delà des capacités attribuées aux rôles. Il n’existe pas d’option simple pour débloquer UpdraftPlus sans désactiver le plugin entier.
2. Alternative : Masquer les Menus via du Code PHP
Puisque White Label CMS et Adminimize ne permettaient pas de tout configurer comme voulu, une solution personnalisée en PHP a été testée.
Mise en place
Nous avons ajouté du code dans functions.php pour :
- Masquer des menus spécifiques pour les utilisateurs ne disposant pas d’un ID défini.
- Empêcher l’accès direct à certaines pages d’administration via leur URL.
Code utilisé pour masquer les menus
function custom_hide_admin_menus() {
$allowed_user_id = 15; // ID de l'utilisateur admin
if (get_current_user_id() != $allowed_user_id) {
remove_menu_page('cookie-law-info'); // CookieYes
remove_menu_page('ultimate-member'); // Ultimate Member
remove_menu_page('simple_history_page'); // Simple History
remove_menu_page('edit.php'); // Articles
remove_menu_page('edit.php?post_type=page'); // Pages
remove_menu_page('upload.php'); // Médias
remove_menu_page('edit-comments.php'); // Commentaires
remove_menu_page('themes.php'); // Apparence
remove_menu_page('plugins.php'); // Extensions
remove_menu_page('users.php'); // Comptes
remove_menu_page('tools.php'); // Outils
remove_menu_page('options-general.php'); // Réglages
remove_menu_page('wfls-options'); // Wordfence
remove_menu_page('et_divi_options'); // Divi
remove_menu_page('forminator'); // Forminator
remove_menu_page('loco-translate'); // Loco Translate
}
}
add_action('admin_menu', 'custom_hide_admin_menus', 999);
Code pour bloquer l’accès direct aux pages admin
function block_direct_admin_pages() {
if (!current_user_can('manage_options')) {
$blocked_pages = array('cookie-law-info', 'simple_history_admin_menu_page', 'ultimatemember');
if (isset($_GET['page']) && in_array($_GET['page'], $blocked_pages)) {
wp_die('🚫 Accès interdit.');
}
}
}
add_action('admin_init', 'block_direct_admin_pages');
Résultat
✅ Les menus ont été correctement masqués.
✅ Les tentatives d’accès direct à ces pages renvoient une erreur.
🚫 Certains plugins peuvent contourner ces restrictions en utilisant des scripts JavaScript pour réinsérer les menus.
Conclusion
Cette méthode est une alternative efficace à White Label CMS et Adminimize si l’objectif est de masquer des menus précis pour certains utilisateurs sans dépendre d’un plugin tiers.
3. Contactez-nous pour une personnalisation avancée
Si vous avez besoin d’une personnalisation avancée pour gérer les accès à l’administration de WordPress, nous pouvons vous aider à :
- Créer des règles de restrictions sur mesure.
- Gérer les menus et les permissions avec précision.
- Résoudre les conflits entre plugins de sécurité et de personnalisation.
N’hésitez pas à nous contacter pour une solution adaptée à vos besoins.





0 commentaires