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?

È stato utile?

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>
);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top