引导菜单-使带有子菜单的菜单项不可点击

时间:2012-11-03 作者:hazelnut

我目前正在开发一个新的WordPress主题,该主题基于twitters引导构建。

要使用菜单自定义导航栏,我遵循了goodandorgreat的说明。

https://gist.github.com/1597994

我现在的问题是,带有子菜单的菜单项也可以单击。

不应该是这样。我能在这里做什么?

标题。php设置:

<div class="navbar">
<div class="navbar-inner">
    <div class="container">

        <!-- Optional: Button zum Menü einklappen auf Mobilgeräten, benötigt responsive.css -->
        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </a>
        <!-- Ende Button -->

        <div class="nav-collapse">
        <?php

        $args = array(
            \'theme_location\' => \'top-bar\',
            \'menu\' => \'main-menu\', 
            \'container_class\' => \'nav-collapse\',
            \'menu_class\'     => \'nav\',
            \'menu_id\' => \'main-menu\',
            \'walker\'     => new Bootstrap_Walker_Nav_Menu()
        );

        wp_nav_menu($args);

        ?>

        </div>
    </div>
</div>

我不想用类似“#”的entrie url来处理这个问题。

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

不可否认,我在这方面遇到了困难,因为要测试这一点,我必须安装您的代码并创建一些菜单来测试它,但是。。。

查看Bootstrap_Walker_Nav_Menu 密码查找此项:

$item_output .= \'<a\'. $attributes .\'>\';
$item_output .= $args->link_before . apply_filters( \'the_title\', $item->title, $item->ID ) . $args->link_after;
$item_output .= ($args->has_children) ? \' <b class="caret"></b></a>\' : \'</a>\';
$item_output .= $args->after;
我认为,您想要的是将创建锚的代码包装成一个条件,如:

if (!$args->has_children) {
    $item_output .= \'<a\'. $attributes .\'>\';
}
$item_output .= $args->link_before . apply_filters( \'the_title\', $item->title, $item->ID ) . $args->link_after;
$item_output .= ($args->has_children) ? \' <b class="caret"></b>\' : \'\';
if (!$args->has_children) {
    $item_output .= \'</a>\';
}
$item_output .= $args->after;

结束

相关推荐

Wordpress Custom Menus Issue

在我的模板中,我使用这样的调用来输出一些自定义菜单:<?php wp_nav_menu(array(\'container_class\' => \'secondary-navigation\', \'theme_location\' => \'secondary\')); ?> 自从升级到WordPress 3.1.4后,我就可以获得完整的页面列表,而不是自定义菜单我看到修复程序(通过谷歌)说我应该添加以下内容来修复此问题:\'fallback_cb\' => f