Articoli con Tag ‘Menu’

WordPress: rimuovere i menu dell’amministrazione

Può 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:

1
2
3
4
5
6
7
8
9
10
11
12
13
function remove_menu_item() {
    global  $menu;
    // tramite label
    $removes = array( 'Design', 'Impostazioni', 'Plugins' );
    // tramite link
    // $removes = array( 'themes.php', 'options-general.php', 'plugins.php' );
    foreach( $removes as $todel )
        foreach($menu as $key => $sm) if($sm[0] == $todel ) { unset( $menu[$key] ); break; }
        // 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.

Continua...

Menu combo categorie in WordPress 2.5.1

Per creare un menu/combo (tag select) senza un bottone di submit e in grado di posizionarsi sulla categoria attualmente visualizzata, si può sfruttare il seguente codice:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<select name="event-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'>
<option value="">Seleziona una categoria</option>
<?php
$foo = ( (is_category())?(single_cat_title('', false)):"" );
$categories = get_categories('orderby=name&hierarchical=0'); $option = '';
foreach ($categories as $cat) {
   $option .= '<option '.( ($cat->cat_name == $foo)?"selected":"" ).' value="/category/'.$cat->category_nicename.'">';
    $option .= $cat->cat_name;
    $option .= ' ('.$cat->category_count.')';
    $option .= '</option>';
}
echo $option;
?>
</select>

L’evento onchange, nel tag select, permette di eliminare un eventuale bottone di submit. La funzione WordPress is_category(), invece, permette di stabilire se stiamo visualizzando un “archivio” categorie, così da ottenere il titolo/nome dell’attuale categoria visualizzata.

Continua...


Stop SOPA