Wie kann ich ein div um den WordPress-ul-Container hinzufügen

Lesezeit: 2 Minuten

Wie kann ich ein div um den WordPress ul Container hinzufugen
CK-Idiot

WordPress gibt meine untergeordneten Menüs in diesem ul-Tag aus …

<ul class="sub-menu">

wie kann ich ein einfaches div darum wickeln?

Vorzugsweise eine Möglichkeit, dies über functions.php zu tun, aber jquery kann auch funktionieren.

Wie kann ich ein div um den WordPress ul Container hinzufugen
maiorano84

Während es EINFACH wäre, so etwas wie jQuery zu verwenden, um Ihre untergeordneten Menüs zu umschließen, ist es KEINE gute Praxis, jQuery für diesen Zweck zu verwenden. Platzieren Sie dies in der functions.php:

class Child_Wrap extends Walker_Nav_Menu
{
    function start_lvl(&$output, $depth = 0, $args = array())
    {
        $indent = str_repeat("\t", $depth);
        $output .= "\n$indent<div class=\"custom-sub\"><ul class=\"sub-menu\">\n";
    }
    function end_lvl(&$output, $depth = 0, $args = array())
    {
        $indent = str_repeat("\t", $depth);
        $output .= "$indent</ul></div>\n";
    }
}

Ich gehe davon aus, dass Ihr Menü in Ihrem Header generiert wird, also gehen Sie zu header.php (oder einer beliebigen Datei, die die Funktion wp_nav_menu verwendet) und suchen Sie nach allem, was mit “wp_nav_menu” beginnt.

Da ich keinen Code zu sehen habe, kann ich nur die Argumente erraten, die es verwendet (falls vorhanden). Wenn es GENAU wie “wp_nav_menu()” aussieht, ohne etwas zwischen den Klammern, dann ändern Sie es wie folgt:

wp_nav_menu(array('walker' => new Child_Wrap()))

Andernfalls bearbeiten Sie bitte Ihre Frage mit dem Code, den Ihr Menü verwendet, damit ich Ihnen weiterhelfen kann.

  • Funktioniert perfekt (WordPress 4.4)

    – Jimit Shah

    2. Januar 2016 um 7:31 Uhr

  • Warum funktioniert das nicht in v4.4.2? In meinem Thema noch ohne Container von ul.sub-menu ich habe 🙁

    – X9DESIGN

    8. April 2016 um 12:54 Uhr

1647293347 168 Wie kann ich ein div um den WordPress ul Container hinzufugen
Sumit Harshan

In dem Funktion.php

class Child_Wrap extends Walker_Nav_Menu
{
   function start_lvl(&$output, $depth)
   {
       $indent = str_repeat("\t", $depth);
       $output .= "\n$indent<div class=\"sub-menu-wrapper\"><ul class=\"sub-menu\">\n";
   }
   function end_lvl(&$output, $depth)
   {
       $indent = str_repeat("\t", $depth);
       $output .= "$indent</ul></div>\n";
   }
} 

Rufen Sie die Funktion auf, in der sich Ihr wp_nav_menu befindet. (Beispiel: header.php)

$defaults = array( 'container' => 'ul', 'menu_class' => 'scroll', 'menu_id' => 'main-menu-nav' , 'walker' => new Child_Wrap() );

 wp_nav_menu( $defaults );

Wenn Sie dies mit jquery tun möchten, können Sie dies wie folgt tun. Aber am besten ist die erste Methode. Hier wird das Menü beim Laden der Seite manchmal als durcheinander angezeigt.

jQuery('ul.sub-menu').wrap('<div class="sub-menu-wrapper" />');

1003180cookie-checkWie kann ich ein div um den WordPress-ul-Container hinzufügen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy