register_nav_menus() non registra i menu
Aiuto con la registrazione dei menu:
Ho seguito questa guida (http://codex.wordpress.org/Navigation_Menus) passo dopo passo.
Ho aggiunto il seguente codice a functions.php:
function register_my_menus() {
register_nav_menus(
array('header-menu' => __( 'Menu Header' ) )
);
}
add_action( 'init', 'register_my_menus' );
Ma la guida dice che questo farà apparire il menu nella schermata di amministrazione Aspetto -> Menu nel box "Posizioni del Tema" come "Menu Header".
Quando vado in Aspetto -> Menu tutto è in grigio e non c'è alcuna opzione di "Posizioni del Tema"
Non è necessario aggiungere alcuna azione per registrare il tuo Menu di Navigazione. Ecco alcuni rapidi passaggi per far funzionare il tuo Menu di Navigazione WordPress...
Registrare il Menu di Navigazione
if (function_exists('register_nav_menu'))
{
register_nav_menu('header_menu', 'Menu Intestazione');
}
Definire e Utilizzare il Menu di Navigazione nel tuo Tema: Di solito posizioniamo il codice DIV del Menu nel file header.php; quindi presumo che anche il tuo sia nel file header.php. Apri quel file e individua il contenitore DIV dove desideri che appaia il menu NAV di WordPress. Ecco un esempio tratto da uno dei miei recenti temi WordPress come riferimento:
<div class="css-nav" >
<?php wp_nav_menu( array(
'sort_column' => 'menu_order',
'theme_location' => 'header_menu',
'menu_class' => 'css-menu',
'title_li' => '<div class="l"></div>',
'link_before' => '<span class="l">',
'link_after' => '</span>'
) ); ?> </div>
Una volta aggiunto questo codice, vai nel tuo WP Admin - Menu. Crea un nuovo Menu, se non ne hai ancora uno. Non appena crei un menu, dovresti vedere il meta box "Posizione Tema" sul lato sinistro dell'area di organizzazione degli elementi del menu.
Spero che questo ti sia d'aiuto. :-)
Saluti,
Ruturaj.
+1 per una risposta ben formattata e di qualità da un nuovo utente. Benvenuto su WPSE. :)
Jared
function_exists('register_nav_menu') non serve a nulla: nav-menu.php viene caricato prima del functions.php del tema (vedi wp-settings.php). 'sort_column' e 'title_li' non sono argomenti validi.
fuxia
Grazie... Funziona! Finalmente! La documentazione su Wordpress avrebbe bisogno di un serio aggiornamento
php-b-grader
Wow! Una delle 3 posizioni del menu è apparsa non appena ho inserito if (function_exists('register_nav_menu')), ma come faccio a far apparire le altre due? if (function_exists('register_nav_menu')) {
`register_nav_menus('headerMenuLocation', 'Header Menu Location');`
`register_nav_menus('footerLocationOne', 'Footer Location One');`
`register_nav_menus('footerLocationTwo', 'Footer Location Two'); }`
YCode