HTML der WordPress-Navigationsleiste bearbeiten

Gibt es eine Möglichkeit, den HTML-Code meiner WordPress-Seite zu ändern? (Ich möchte einige Divs hinzufügen, die mit Medienabfragen gesteuert werden.)

Danke fürs Lesen!

Solutions Collecting From Web of "HTML der WordPress-Navigationsleiste bearbeiten"

Wenn Sie nur die äußeren Elemente (nicht die li’s selbst) wp_nav_menu() 'items_wrap' => '

    %3$s

' können Sie in wp_nav_menu() die 'items_wrap' => '

    %3$s

' Argument und bearbeiten Sie es bei Bedarf, zum Beispiel zeigt dies, wie die Liste in ein nav Element und ein div Element zu div :

'items_wrap' => '

',

Sie könnten auch andere Elemente übergeben, um den Inhalt von

  • und zu bearbeiten, indem Sie 'before' => '', 'after' => '', 'link_before' => '', 'link_after' => '' .

    Wenn das nicht hilft, zeigen Sie bitte die gewünschte endgültige HTML-Ausgabe an, die Sie erhalten möchten.

    Ja, Sie müssen die Walker-class dafür implementieren.

    Hier ist ein einfaches Beispiel.

     $defaults = array( 'theme_location' => 'primary', 'container' => 'ul', 'menu_class' => 'nav navbar-nav main-nav', 'walker' => new Primary_Walker_Nav_Menu() ); wp_nav_menu( $defaults ); 

    In dem obigen Codeblock nimmt die wp_nav_menu() function $defaults als Argument. Im Array $defaults ist der letzte Schlüssel walker . Der Wert des Walker-Schlüssels ist das Objekt einer class Primary_Walker_Nav_Menu . In der Datei functions.php implementieren Sie den folgenden Code.`

     class Primary_Walker_Nav_Menu extends Walker_Nav_Menu { function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) { if (array_search('menu-item-has-children', $item->classes)) { $output .= sprintf("\n
  • https://wordpress.stackexchange.com/questions/172582/edit-html-of-wordpress-navigation-bar/%s\n", ( array_search('current-menu-item', $item->classes) ) ? ' class="active"' : '', $item->url, $item->title ); } } function start_lvl(&$output, $depth) { $indent = str_repeat("\t", $depth); $output .= "\n$indent
      \n"; }
  • } `

    Die start_el() -Methode wird verwendet, um das öffnende HTML-Tag für ein einzelnes start_el() hinzuzufügen (z. B.

  • ,, oder) zu $ ​​output.
  • Die Methode start_lvl() wird ausgeführt, wenn der Walker den Beginn eines neuen “Zweiges” in der Baumstruktur erreicht. Im Allgemeinen wird diese Methode verwendet, um das öffnende Tag eines Container-HTML-Elements (wie,, oder) zu $ ​​output hinzuzufügen.

    Die Ausgabe der obigen Implementierung ergibt den folgenden HTML-Codeblock.

      

    Der folgende Link erklärt, wie wir die Walker-class http://code.tutsplus.com/tutorials/understanding-the-walker-class–wp-25401 verwenden können