Hallo,

D.m.v. een array wil ik een eigen class toevoegen aan het <ul> element van mij wordpress template.


<?php
wp_nav_menu( array(
    'menu_class'=> 'menu_container',
    'items_wrap' => '<ul class="main_nav">%3$s</ul>',
));
?>


Normaal gesproken zou dit moeten werken volgende de documentatie, maar dit is niet het geval.
Iemand dit zelfde probleem gehad of zie ik toch iets over het hoofd?

Dank alvast.

Gr. Jop
Volgens mij moet je van wp_nav_menu een variable maken.

<?php
$wp_nav_menu( array(
    'menu_class'=> 'menu_container',
    'items_wrap' => '<ul class="main_nav">%3$s</ul>',
));
?>

Dan kun je het menu aanroepen met:

wp_nav_menu($wp_nav_menu)


Laat maar weten of de class nu aan de ul word toegevoegd :)
Beste Mitch,

Bedankt voor de reactie. heb dit geprobeerd maar krijg nog steeds het zelfde resultaat.
De output is


<div class="menu_container">
<ul>
</ul>
</div>


Zoals je ziet pakt hij de container wel over maar het "ul" element niet

[size=xsmall]Toevoeging op 24/03/2017 16:33:15:[/size]

Zo functioneerd hij wel



<?php
$defaults = array(
        'container'       => 'ul',
        'menu_class'      => 'main',

);

wp_nav_menu( $defaults );
?>
Kun je niet beter in de HTML de div met de class menu_container zetten? Dan kun je aan de eigenschap menu_class de klasse main_nav meegeven zodat de ul deze klasse krijgt. Je code wordt dan:


<div class="menu_container">
$wp_nav_menu( array(
    'menu_class'=> ‘main_nav',
));

echo wp_nav_menu($wp_nav_menu);
</div>


Volgens mij wordt er altijd een ul element toegevoegd als je een Wordpress menu maakt, tenzij je specifiek aangeeft dat je dit niet wil of er wat anders voor in de plaats wil hebben.

Laat maar weten of dit werkt :)
Natuurlijk werkt dat niet, de code zal parse errors en undefined functions opleveren. Lees voor de grap eens hoe je variabelen toewijst. Wat is trouwens de meerwaarde van het maken van een variabele die je maar 1 keer gebruikt?

Reageren