Menu wordpress array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jop B

Jop B

24/03/2017 12:36:11
Quote Anchor link
Hallo,

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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?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
 
PHP hulp

PHP hulp

16/04/2024 14:57:15
 
Mitch PHP

Mitch PHP

24/03/2017 15:06:52
Quote Anchor link
Volgens mij moet je van wp_nav_menu een variable maken.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
wp_nav_menu($wp_nav_menu)


Laat maar weten of de class nu aan de ul word toegevoegd :)
Gewijzigd op 24/03/2017 15:07:29 door Mitch PHP
 
Jop B

Jop B

24/03/2017 15:47:57
Quote Anchor link
Beste Mitch,

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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<div class="menu_container">
<ul>
</ul>
</div>


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

Toevoeging op 24/03/2017 16:33:15:

Zo functioneerd hij wel

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$defaults
= array(
        'container'       => 'ul',
        'menu_class'      => 'main',

);


wp_nav_menu( $defaults );
?>
Gewijzigd op 24/03/2017 15:48:08 door Jop B
 
Mitch PHP

Mitch PHP

24/03/2017 16:37:42
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<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 :)
Gewijzigd op 24/03/2017 16:38:06 door Mitch PHP
 
Ben van Velzen

Ben van Velzen

24/03/2017 16:58:30
Quote Anchor link
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?
Gewijzigd op 24/03/2017 16:59:31 door Ben van Velzen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.