register_nav_menus() nu înregistrează meniurile
Vă rog să mă ajutați cu înregistrarea meniului:
Am urmat acest ghid (http://codex.wordpress.org/Navigation_Menus) pas cu pas.
Am adăugat următorul cod în functions.php:
function register_my_menus() {
register_nav_menus(
array('header-menu' => __( 'Meniu Header' ) )
);
}
add_action( 'init', 'register_my_menus' );
Dar ghidul spune că acest lucru va face ca meniul să apară în ecranul de administrare Appearance -> Menus în caseta "Theme Locations" ca "Meniu Header".
Când accesez Appearance -> Menus totul este inactiv și nu există nicio opțiune pentru "Theme Locations"
Nu este nevoie să adăugați nicio acțiune pentru a vă înregistra meniul de navigare. Iată câțiva pași rapid pentru a vă face meniul Wordpress să funcționeze...
Înregistrați Meniul de Navigare
if (function_exists('register_nav_menu'))
{
register_nav_menu('header_menu', 'Meniu Header');
}
Definiți și Folosiți Meniul în Tema Dvs.: De obicei plasăm codul DIV al meniului în fișierul header.php; deci presupun că și al dvs. se află în header.php. Deschideți acel fișier și localizați containerul DIV unde doriți să apară meniul de navigare Wordpress. Iată un exemplu dintr-una din temele mele recente Wordpress pentru referință:
<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>
După ce adăugați acest cod, mergeți în WP Admin - Meniuri. Creați un meniu nou, dacă nu aveți deja. Imediat ce creați un meniu, ar trebui să vedeți caseta meta "Locația Temă" în partea stângă a zonei de aranjare a elementelor de meniu.
Sper că acest lucru vă ajută. :-)
Toate cele bune,
Ruturaj.
+1 pentru un răspuns bine format și bun de la un utilizator nou. Bun venit pe WPSE. :)
Jared
function_exists('register_nav_menu') nu face nimic util: nav-menu.php este încărcat înaintea functions.php-ului temei (vezi wp-settings.php). 'sort_column' și 'title_li' nu sunt argumente valide.
fuxia
Mulțumesc... Funcționează! În sfârșit! Documentația de la Wordpress ar avea nevoie de o actualizare serioasă
php-b-grader
Uau! Unul dintre cele 3 locații de meniu a apărut imediat ce am introdus (function_exists('register_nav_menu')), dar cum pot face să apară și celelalte două? 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