cum să atribuiți un ID unui meniu WordPress

11 ian. 2013, 15:05:08
Vizualizări: 14.6K
Voturi: -1

Următorul cod nu produce un UL cu ID-ul "nav". Produce doar:

<div class="menu"><ul>

Acesta este codul:

wp_nav_menu( array( 'theme_location' => 'menu-1', 'container_id'    => 'nav'; 

Conform WP Codex, acest lucru ar trebui să funcționeze. De ce nu merge?

Versiune WP = 3.5

Actualizare

Acum am:

wp_nav_menu( array( 'theme_location' => 'menu-1', 'items_wrap' => '<ul id="nav">%3$s</ul>', 'menu_id' => 'nav'));

dar nici acest lucru nu funcționează.

2
Comentarii

asigură-te că tema ta nu filtrează wp_nav_menu_args și nu suprascrie setările tale.

Milo Milo
13 ian. 2013 05:35:30

@Milo. Nu există nimic în functions.php despre acest lucru.

Steve Steve
13 ian. 2013 08:50:27
Toate răspunsurile la întrebare 4
3

Conform paginii Codex menționate, trebuie să utilizezi menu_id. container_id afectează doar div-ul înconjurător.

11 ian. 2013 15:11:44
Comentarii

Cred că ai dreptate, dar în continuare produce <div class="menu">

Steve Steve
11 ian. 2013 15:29:26

da, conform codex, dar nu a funcționat

GusDeCooL GusDeCooL
10 ian. 2015 17:21:35

acesta este răspunsul corect

Nate Beers Nate Beers
4 aug. 2017 19:03:28
4

Parametrul corect pentru ul este menu_id, iar pentru container container_id. Dar ul funcționează doar dacă treci …

'<ul id="%1$s" class="%2$s">%3$s</ul>'

… ca argument items_wrap.

Poți hard-coda valoarea astfel:

wp_nav_menu(
    array (
    'items_wrap'      => '<ul id="nav">%3$s</ul>'
    'theme_location' => 'top-menu'
    )
);

Vezi Documentație pentru argumentul „items_wrap” al lui wp_nav_menu?

11 ian. 2013 17:10:29
Comentarii

Mulțumesc @toscho, dar nici asta nu a funcționat.

Steve Steve
13 ian. 2013 05:22:25

Acum am wp_nav_menu( array( 'theme_location' => 'menu-1', 'items_wrap' => '<ul id="nav">%3$s</ul>', 'menu_id' => 'nav'));

Steve Steve
13 ian. 2013 05:23:44

@Steve Dezactivează toate pluginurile. Ai stricat ceva foarte grav. Soluția mea funcționează în toate cazurile.

fuxia fuxia
13 ian. 2013 09:25:37

Am dezactivat toate pluginurile, iar problema persistă: ieșirea este <div class="menu"><ul>

Steve Steve
14 ian. 2013 13:41:00
1

După cum cred eu, menu-1 ar trebui să fie ID-ul meniului tău. Te rog citește despre parametri aici și furnizează parametrii potriviți.

În opinia mea, codul tău ar trebui să arate astfel:

wp_nav_menu( array( 'menu' => 'menu-1', 'container_id'    => 'nav' ));
11 ian. 2013 15:21:54
Comentarii

parametrul menu acceptă un ID din baza de date, nu un ID CSS. Eu doresc să atribui un ID CSS elementului UL.

Steve Steve
11 ian. 2013 15:30:57
0

Aceasta ar putea fi utilă, a fost folositoare pentru mine să înțeleg.

    <?php wp_nav_menu( array(
            'menu' => 0,
            'container' =>false,
            'menu_class' => 'nav',
            'echo' => true,
            'before' => '',
             'after' => '',
             'link_before' => '',
             'link_after' => '',
             'depth' => 0,
            'walker' => new description_walker())
             );?>

Aceasta va oferi meniurilor tale ID-uri aleatorii atunci când le creezi. Sper că a fost util, nu sunt sigur dacă am înțeles corect întrebarea.

11 ian. 2013 16:34:33