Cheatsheet

Supprimer des entrées du menu de l'admin WordPress

Laisser un commentaire

Certaines installations de WordPress n’utilisent pas telle ou telle fonctionnalité, ou alors vous ne souhaitez pas en laisser certaines accessibles aux utilisateurs finaux.

Pourquoi donc laisser l’entrée correspondante dans le menu ? Certains thèmes ne sont par exemple pas prévu pour servir de blog, dans un tel cas, autant faire disparaître le bouton en question du menu.

# la fonction est remove_menu_page
# chaque entrée du menu possède son paramètre
# index.php'               ==> Dashboard
# jetpack'                 ==> Jetpack*
# edit.php'                ==> Articles
# upload.php'              ==> Médias
# edit.php?post_type=page' ==> Pages
# edit-comments.php'       ==> Commentaires
# themes.php'              ==> Apparence
# plugins.php'             ==> Extensions
# users.php'               ==> Utilisateurs
# tools.php'               ==> Outils
# options-general.php'     ==> Réglages

# Supprimons donc les articles
add_action('admin_menu', function () {
    remove_menu_page('edit.php');

    // Sachez que pour lister toutes les entrées disponibles
    // Vous pouvez faire un print de $GLOBALS['menu']
    echo '<pre>' . print_r($GLOBALS['menu'], true) . '</pre>';
});

Vous appelez remove_menu_page autant de fois que nécessaire. Par ailleurs, vous pouvez aussi ne supprimer les entrées que pour certains utilisateurs, ou tout laisser pour l’admin principal, il suffit pour cela de return avant d’appeler remove_menu_page.

On pourra par exemple tester :

Commentaires

Rejoignez la discussion !

Vous pouvez utiliser Markdown pour les liens [ancre de lien](url), la mise en *italique* et en **gras**. Enfin pour le code, vous pouvez utiliser la syntaxe `inline` et la syntaxe bloc

```
ceci est un bloc
de code
```