• Estimados, encontré una función que me permite gestionar las barras de navegación y funciona de mil maravillas en compatibilidad con componente Navs de Bootstrap, pero me falta resolver unos detalles:

    En functions.php

    require_once('wp_bootstrap_navwalker.php');
    function register_my_menus() {
       register_nav_menus(
          array(
             '<strong>primary</strong>'   => __( 'Primary Menu' )
          )
       );
    }

    en mi planilla…

    <?php
      wp_nav_menu( array(
     'menu'              => 'primary',
     'theme_location'    => 'primary',
     'depth'             => 2,
     'container'         => 'div',
     'container_class'   => 'collapse navbar-collapse',
     'container_id'      => 'bs-example-navbar-collapse-1',
     'menu_class'        => 'nav navbar-nav',
     'fallback_cb'       => 'wp_bootstrap_navwalker::fallback',
     'walker'            => new wp_bootstrap_navwalker())
    );
    ?>

    Hasta aquí todo bien, si sumo la función siguiente puedo asignar una clase CSS al elemento </a>

    add_action( 'init', 'register_my_menus' );
    function add_class_link($item_output, $item, $depth, $args) {	
       $menu_locations = get_nav_menu_locations();
       if ( has_term($menu_locations['<strong>primary</strong>'], 'nav_menu', $item) ) {
          $item_output = preg_replace('/<a>nombreClase</strong>" ', $item_output, 1);
    }
       return $item_output;
    }

    … el problema de esta última función es que agrega la clase CSS a todos los elementos < /a > ¿cómo podría cambiar esta función para que asigne la clase solo a los elementos < /a > del SEGUNDO NIVEL

    < ul >
       < li >
          < a class="<strong>NO QUIERO LA CLASE AQUÍ</strong>" href="#">1er NIVEL< /a >
          < ul role="menu" class=" dropdown-menu">
    	< li >
               < a class="<strong>AQUí SI QUIERO LA CLASE</strong>" href="#">2° NIVEL< /a >
            < /li >
          < /ul >
       < /li >
    < /ul >

    La segunda pregunta es ¿cómo puedo leer una variable de otro entorno en una función? Por ejemplo declaro la variable $clase en page.php y quiero que esta variable sea rescatada o leída en functions.php
    ej:

    <strong>en page.php</strong>
    $clase = "<em>un valor</em>";
    
    <strong>en functions.php</strong>
    function(){
       $clase = "<em>un valor</em>"; // o sea, el mismo valor declarado en page.php
    }

    Ayuda please! 😀

    • Este debate fue modificado hace 8 años, 1 mes por homeroxis.
    • Este debate fue modificado hace 8 años por Rafa Poveda. Razón: Corrección de textos
    • Este debate fue modificado hace 8 años por Rafa Poveda. Razón: Corrección de textos
  • El debate ‘Función para barra de navegación compatible Bootstrap’ está cerrado a nuevas respuestas.