Wordpress: rimuovere i menu dell’amministrazione
Sabato 1 Novembre, 2008Può risultare utile, a volte, "oscurare" alcuni menu dell'amministrazione di Wordpress, soprattutto se si è sviluppato un sito/blog per un cliente e non si vuole permettere l'accesso a funzionalità particolarmente delicate. Esistono Plugin che svolgono questa già funzione ma, per avere un controllo personale e completo, vediamo come funziona in dettaglio questa caratteristica.
Come sempre sfruttiamo le utilissime Action messe a disposizione da Wordpress, in questo caso admin_menu. Tramite la variabile globale $menu possiamo accedere alla lista dei menu dell'amministrazione. Possiamo individuare il menu da "eliminare" in due modi: tramite l'etichetta o tramite il link a cui punta (vedi parti commentati nell'esempio qui sotto). Nell'esempio proposto vengono "oscurate" le voci di menu Design, Impostazioni e Plugins:
-
function remove_menu_item() {
-
global $menu;
-
// tramite label
-
// tramite link
-
// $removes = array( 'themes.php', 'options-general.php', 'plugins.php' );
-
foreach( $removes as $todel )
-
// tramite link
-
// foreach($menu as $key => $sm) if($sm[2] == $todel ) { unset( $menu[$key] ); break; }
-
}
-
//
-
add_action('admin_menu', 'remove_menu_item');
L'uso del link come chiave per la rimozione ($sm[2] nelle parti commentate nel codice qui sorpra), è utile quando non si ha certezza della lingua - localizzazione - con cui è stato installato Wordpress. Con questa tecnica, tuttavia, il menu è rimosso solo a livello di interfaccia, quindi sarà possibile ancora accedere alla pagina tramite una link diretto.





















