J'ai le code suivant, qui nettoie beaucoup de choses qui ne seront pas utilisées dans la zone d'administration:
add_action( 'admin_menu', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
remove_menu_page( 'edit.php' ); //Posts
remove_menu_page( 'upload.php' ); //Media
remove_menu_page( 'edit-comments.php' ); //Comments
remove_menu_page( 'themes.php' ); //Appearance
remove_menu_page( 'users.php' ); //Users
remove_menu_page( 'tools.php' ); //Tools
remove_menu_page( 'options-general.php' ); //Settings
};
Cependant, deux éléments de menu ont été insérés à partir de plugins.
Lorsque je survole chaque élément du menu, il est indiqué que les liens sont les suivants:
/wp-admin/edit.php?post_type=acf
/wp-admin/admin.php?page=wpcf7
Est-il possible de cacher ces pages de menu aussi?
Réponses:
Vous devez utiliser les bons hooks (qui ne sont pas toujours identiques aux URL / slugs), et utiliser un hook qui fonctionne plus tard (par exemple, cela ne fait pas de mal
admin_init
):Vous pouvez utiliser les éléments suivants pour déboguer:
Ceci donne (pour ma configuration) ce qui suit pour la page de menu du plugin Contact Form 7:
L'élément de tableau avec la clé
2
est ce que vous cherchez:wpcf7
.la source
remove_menu_page()
m'a été très utile de montrer comment vider le menu et trouver quoi utiliser . Cela m'a appris à pêcher au lieu de me donner le poisson!VOUS POUVEZ DÉBOGER TOUT CELA AVEC CE QUI SUIT POUR OBTENIR TOUTES LES INFORMATIONS DONT VOUS AVEZ BESOIN:
Les clés vous donneront les valeurs de tableau qui vous permettent de faire tout cela avec les globales wordpress (bien que cela ne soit pas recommandé)
Et pour supprimer pour certains utilisateurs, il suffit de faire la même chose sauf avec des fonctionnalités ajoutées:
Et pour tout lier ensemble Pourquoi ne pas raccourcir notre code? VOUS POUVEZ UTILISER DES RÉSEAUX POUR ÉVITER L’ÉCRITURE remove_submenu_page 50 fois. Cela fonctionne aussi avec les nœuds de la barre d’outils:
la source
Vous devrez probablement définir la priorité add_action sur un nombre plus élevé et cibler ces deux nouveaux liens de manière spécifique:
Advanced Custom Fields fournit également un document d’aide sur la procédure à suivre pour cela dans leur menu:
http://www.advancedcustomfields.com/resources/how-to/how-to-hide-acf-menu-from-clients/
Le formulaire de contact 7 a également sa propre façon de restreindre la visibilité du menu:
http://contactform7.com/restricting-access-to-the-administration-panel/
la source
remove_menu_page( 'wpcf7' );
Mise à jour
J'ai créé un extrait de code avec une fonction plus robuste, qui traite à la fois des menus principaux et des éléments de sous-menus.
Réponse originale
Au lieu de spécifier les menus que vous souhaitez supprimer, spécifiez les menus que vous souhaitez conserver :)
De cette façon, vous n'avez pas besoin de rechercher des noms de plugins ni de modifier le code lorsque vous ajoutez de nouveaux plugins.
la source
Vous devez trouver le bon $ menu_slug. Le code suivant a fonctionné pour moi:
la source
Bien sûr, vous ne pouvez spécifier que les éléments que vous souhaitez supprimer. Regardez dans le code ci-dessous:
Ceci est juste le négatif de la méthode de numediaweb. Merci @numediaweb. Ça fonctionne bien.
PS: 'menu_item_1 / n' -> pointez la souris sur l’option de menu et récupérez la page exacte de cette option de menu affichée dans le lien.
la source
utiliser cet extrait de code
la source