Categorie
WordPress

Rimuovere voci di menù dal pannello di amministrazione di WordPress

Spesso, quando diamo un account amministratore ad un nostro cliente, c’è la necessità di rimuovere una qualche voce di menù dall’area di amministrazione, per i motivi più disparati. In questo articolo, vi mostrerò come è facile ottenere questo risultato.

Il menu di WordPress è composto da menù e sotto-menù, supponiamo che vogliamo togliere (anzi nascondere) la possibilità di cambiare oppure modificare (con l’editor di WordPress) il tema corrente.
Queste due voci, sono sotto-menù del menù “Aspetto“.
Aggiungere il seguente codice al file function.php

<?php
add_action( 'admin_init', 'my_remove_menu_pages' );
function my_remove_menu_pages() {  
    global $userdata;
    get_currentuserinfo();

    if ($userdata->ID != 1) {
        remove_submenu_page('themes.php', 'themes.php');
        remove_submenu_page('themes.php', 'theme-editor.php');
    }
}
?>

Lo script è relativamente semplice, da notare che testiamo l’id utente, se diverso da 1 (supponendo che questo sia il nostro) allora rimuoviamo le voci.
La funzione remove_submenu_page() accetta due parametri. Il primo è lo slug del menu genitore, il secondo lo slug del sotto-menù che vogliamo rimuovere.
Nel caso avessimo voluto rimuovere l’intero menu Aspetto allora la funziona da usare sarebbe stata remove_menu_page().
[box type=”note”]E’ importante essere consapevoli del fatto che questo approccio non impedisce a un utente di accedere alle schermate direttamente. Ma sono soltanto rimosse la voci di accesso alle pagine dal menù.[/box]
Nel caso non conoscessimo lo slug del menù da cancellare un trucchetto per trovarlo è eseguendo il var_dump() della variabile globale $submenu. 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.