register_nav_menus() nu înregistrează meniurile

26 feb. 2012, 06:43:18
Vizualizări: 20.6K
Voturi: 6

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"

1
Comentarii

Adaugă o captură de ecran a paginii wp-admin/nav-menus.php. Și rezolvă întrebările tale orfane rămase.

fuxia fuxia
26 feb. 2012 06:49:20
Toate răspunsurile la întrebare 1
4

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.

26 feb. 2012 07:06:10
Comentarii

+1 pentru un răspuns bine format și bun de la un utilizator nou. Bun venit pe WPSE. :)

Jared Jared
26 feb. 2012 07:09:57

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 fuxia
26 feb. 2012 07:28:50

Mulțumesc... Funcționează! În sfârșit! Documentația de la Wordpress ar avea nevoie de o actualizare serioasă

php-b-grader php-b-grader
26 feb. 2012 07:38:49

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 YCode
17 sept. 2018 22:18:58