Jquery Bootstrap,WordPress&;导航步行器-顶级导航链路不工作

Jquery Bootstrap,WordPress&;导航步行器-顶级导航链路不工作,jquery,wordpress,twitter-bootstrap-3,navigation,Jquery,Wordpress,Twitter Bootstrap 3,Navigation,我意识到这个问题已经在其他帖子中得到了解决,然而,我遇到了一些问题,顶部导航链接无法工作 这是一个基于bootstrap3构建的WordPress站点,用于将WordPress导航集成到BootStrap结构中。以下是导航代码: <div class="navbar navbar-default col-md-9" role="navigation"> <div class="container"> <div class="navbar

我意识到这个问题已经在其他帖子中得到了解决,然而,我遇到了一些问题,顶部导航链接无法工作

这是一个基于bootstrap3构建的WordPress站点,用于将WordPress导航集成到BootStrap结构中。以下是导航代码:

 <div class="navbar navbar-default col-md-9" role="navigation">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>

        </div>
        <?php
                        wp_nav_menu( array(
                        'menu'                    => 'Primary',
                        'theme_location'    => 'Primary',
                        'depth'                   => 2,
                        'container'             => 'div',
                        'container_class'    => 'collapse navbar-collapse col-md-9',
                        'container_id'        => 'none',
                        'menu_class'         => 'nav navbar-nav',
                        'fallback_cb'         => 'wp_bootstrap_navwalker::fallback',
                        'walker'                => new wp_bootstrap_navwalker())
                        );
                    ?> 
        </div><!-- /.container -->
</div><!-- /.navbar -->
这在优雅地显示下拉导航方面做得很好,但是在父菜单项上没有活动链接


我已经确认,通过将家长的链接从导航层次结构中移出,而没有正确显示链接的孩子,家长的链接实际上是活动的,因此我无法识别缺少的东西,希望有一两只敏锐的眼睛来帮助发现它。

NavWalker似乎就是这样设计的。您需要在wp_bootstrap_navwalker.php的第85行编辑源代码

让父对象保留
href
,即使它有子对象

if ( $args->has_children && $depth === 0 ) {
    // $atts['href']        = '#'; // old line
    $atts['href'] = ! empty( $item->url ) ? $item->url : ''; // new line
    $atts['data-toggle']    = 'dropdown';
    $atts['class']          = 'dropdown-toggle';
    $atts['aria-haspopup']  = 'true';
} else {
    $atts['href'] = ! empty( $item->url ) ? $item->url : '';
}

你所说的活动链接是什么意思?我看到菜单直接加载了
href=“#”
Hi-Spokey,这就是问题所在。有东西把链接剥掉了,剩下的是#链接。如上所述,如果我将导航元素移动到没有子元素(如Contact)的位置,链接将正确显示。但一旦它有了孩子,这个链接就被删除了。我刚刚测试过它,它工作得非常完美。谢谢你的帮助!这对桌面是有效的,但是移动版的菜单不起作用,因为我们删除了下拉开关并没有解决我的问题,当我将鼠标悬停在该项上时,会出现链接。。但它仍然不可点击,它只会导致下拉列表展开和折叠,有什么建议吗?谢谢
if ( $args->has_children && $depth === 0 ) {
    // $atts['href']        = '#'; // old line
    $atts['href'] = ! empty( $item->url ) ? $item->url : ''; // new line
    $atts['data-toggle']    = 'dropdown';
    $atts['class']          = 'dropdown-toggle';
    $atts['aria-haspopup']  = 'true';
} else {
    $atts['href'] = ! empty( $item->url ) ? $item->url : '';
}