Come faccio ad aggiungere il supporto al mio tema per menu personalizzati?
Domanda
Ho letto un paio di tutorial su come aggiungere la funzionalità dei menu personalizzati aggiunti nella versione 3.0 per il mio tema, ma tutti sembrano differire in qualche modo, e non sono sicuro se contengono il codice superfluo. Inoltre ho letto che il codice per registrare il vostro tema come menù-compatibili è cambiato tra la RC e il rilascio pubblico.
Qual è il modo più semplice di aggiungere il supporto per i menu personalizzati per il mio tema?
Soluzione
Il modo più semplice è quello di utilizzare i function.This register_nav_menus
dovrebbe essere agganciato in 'after_setup_theme'
:
function my_cool_menu_function(){
register_nav_menus( array(
'primary' => 'Primary Navigation'
));
}
add_action( 'after_setup_theme', 'my_cool_menu_function' );
Poi, nel tema, è sufficiente chiamare la posizione di tale menù:
wp_nav_menu( array( 'theme_location' => 'primary' ) );
Altri suggerimenti
Aggiungi il functions.php
del vostro tema. Se non ne avete uno, crearla.
<?php
add_theme_support('menus');
function register_my_menus() {
$args = array(
'menu-1' => __( 'Main Menu' )
);
register_nav_menus( $args );
}
add_action( 'init', 'register_my_menus' );
?>
E questo può andare da nessuna parte, ce l'ho in header.php
(vedi wp_nav_menu
( ) docs ):
<?php
$args = array(
'menu' => 'Main Menu',
'sort_column' => 'menu_order',
'container' => 'div',
);
wp_nav_menu( $args ); ?>
Questa come includere la navigazione personalizzata nella sua forma più semplice, credo che raccoglie la navigazione con non identificativo:
<div class="access">
<?php wp_nav_menu(); ?>
</div>
Ci sono anche opzioni di base che possono essere passati alla funzione, ecco quello che io di solito uso:
$navArgs=array(
'menu_id' => 'nav', // target the nav menu
'container' => '', // don't wrap the menu in <ul>
);