Site icon Tosolini.info

WordPress 3.0 Menu personalizzati

WordPress 3.0 ha introdotto un efficace sistema di gestione dei Menu delle proprie pagine o categorie, che dalla propria area amministrativa si può agevolmente controllare con efficacia. Sicuramente è una mossa azzeccata poiché fino ad oggi vi erano moltissime alternative, talvolta onerose per il database.
Questa nuova funzione tuttavia richiede che il template che stiamo usando supporti questa specifica feature. Vediamo quindi come poterlo adattare ad un template precedente, oppure prevederlo in uno nuovo. Per prima cosa dobbiamo comprenderne alcune basi di funzionamento. Vi possono essere molteplici menu, ed ognuno di questi dovrà avere un nome “facile” per essere identificato con efficacia nella nostra struttura. Poniamo che vogliamo creare il menu che solitamente sta nella parte alta dello schermo (header), che chiameremo “Header Menu“.
Per prima cosa abilitiamo la funzione nel file functions.php del nostro template in uso, aggiungendo le seguenti righe:

add_action( 'init', 'register_my_menus' );
function register_my_menus() {
	register_nav_menus( array(
		'header-menu' => __( 'Header Menu' )
	) );
}

Come possiamo vedere abbiamo indicato a WordPress che il menu header-menu è riconducibile al nome Header Menu (ma poteva essere Pippo) che vedremo nel sistema di amministrazione.

Ora possiamo creare la entry nel database, andiamo attraverso la nostra area amministrativa sotto “Aspetto -> Menu”, se non abbiamo commesso errori non dovremo ricevere nessun messaggio di allarme che ci avvisa di un template non idoneo a questa funzione.

Possiamo quindi aggiungere il nuovo menu che chiameremo appunto “Header Menu”. Possiamo procedere alla personalizzazione, piuttosto elevata, del menu, quindi ordinare a piacimento le voci delle pagine, con la gestione dei menu “figli”, oppure crearne di nuove, anche verso siti esterni. Terminato il lavoro di ordinamento, non ci resta che indicare al tema in uso dove debba essere posizionato. Il codice da applicare sarà il seguente:

<?php wp_nav_menu( array( 'theme_location' => 'header-menu') ); ?>

Fate attenzione a ‘header-menu’ che è la parte da personalizzare. Ovviamente possiamo intervenire affinché ci sia un giusto apporto da parte dei fogli di stile indicandone la classe che avremo creato appositamente, ad esempio:

<?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'header-menu' ) ); ?>

come vedete abbiamo indicato con ‘container_class’ la classe ‘menu-header’ che dovrà essere dichiarata nel nostro foglio di stile.

Exit mobile version