Editar HTML da barra de navegação do WordPress

Existe uma maneira de alterar o html da barra de navegação da minha página wordpress? (Eu gostaria de adicionar em vários divs que serão controlados com consultas de mídia.)

Obrigado por ler!

Solutions Collecting From Web of "Editar HTML da barra de navegação do WordPress"

Se você estiver olhando apenas para mudar os elementos externos (não o próprio Li), você pode passar para wp_nav_menu() o 'items_wrap' => '

    %3$s

' e edite-o conforme necessário, por exemplo, isso mostra como envolver a lista em um elemento de nav e um elemento div :

'items_wrap' => '

', ,.

Você também pode passar em outros elementos para editar o conteúdo do

  • e usando 'before' => '', 'after' => '', 'link_before' => '', 'link_after' => '' .

    Se isso não ajudar, mostre o resultado HTML final desejado que você está tentando obter.

    Sim, você precisará implementar a class walker para isso.

    Aqui está um exemplo simples.

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

    No bloco de código acima, a function wp_nav_menu() leva $defaults como argumento. Nos $defaults da rede, a última chave é walker . O valor da chave walker é object de uma class Primary_Walker_Nav_Menu . No arquivo functions.php implemente o seguinte código.

     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->classs)) { $output .= sprintf("\n
  • https://wordpress.stackexchange.com//questions/172582/edit-html-of-wordpress-navigation-bar/%s\n", ( array_search('current-menu-item', $item->classs) ) ? ' class="active"' : '', $item->url, $item->title ); } } function start_lvl(&$output, $depth) { $indent = str_repeat("\t", $depth); $output .= "\n$indent
      \n"; }
  • } `

    O método start_el() é usado para adicionar a tag HTML de abertura para um único item de tree (como

  • , ou) para $ output.
  • O método start_lvl() é executado quando o walker atinge o início de um novo “ramo” na estrutura da tree. Geralmente, esse método é usado para adicionar a tag de abertura de um elemento HTML de contêiner (como,, ou) para $ output.

    A saída da implementação acima resultará no seguinte bloco de código html.

      

    O link abaixo explica como podemos usar a class walker http://code.tutsplus.com/tutorials/understanding-the-walker-class–wp-25401