我正在WP安装上运行Bootstrap,并且从父下拉导航项中删除了url的问题。
这是代码。在 menu-item-72 中,您可以看到我们团队的href只是#而不是正确的链接。
<ul id="menu-primary" class="nav navbar-nav">
<li id="menu-item-69" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-69"><a title="Home" href="http://mostellar.opteradev.com/">Home</a></li>
<li id="menu-item-70" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-6 current_page_item menu-item-70 active"><a title="About Us" href="http://mostellar.opteradev.com/us/">About Us</a></li>
<li id="menu-item-72" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-72 dropdown"><a title="Our Team" href="#" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">Our Team <span class="caret"></span></a>
<ul role="menu" class=" dropdown-menu">
<li id="menu-item-71" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71"><a title="Katherine M. Conwell, CPA" href="http://mostellar.opteradev.com/katherine-m-conwell/">Katherine M. Conwell, CPA</a></li>
<li id="menu-item-73" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-73"><a title="Ann S. Bowers, CPA" href="http://mostellar.opteradev.com/our-team/ann-s-bowers/">Ann S. Bowers, CPA</a></li>
<li id="menu-item-74" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-74"><a title="John B. Mostellar, CPA" href="http://mostellar.opteradev.com/our-team/john-b-mostellar/">John B. Mostellar, CPA</a></li>
<li id="menu-item-75" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-75"><a title="Lewis T. Shreve, CPA" href="http://mostellar.opteradev.com/our-team/lewis-t-shreve/">Lewis T. Shreve, CPA</a></li>
</ul>
</li>
</ul>
为了让它起作用,我们缺少什么?我已确认该项目与活动条目相关联。
答案 0 :(得分:37)
默认情况下,下拉列表中的引导父项不可单击。 将此脚本添加到您的页面,现在它们将是:
<script>
jQuery(function($) {
$('.navbar .dropdown').hover(function() {
$(this).find('.dropdown-menu').first().stop(true, true).delay(250).slideDown();
}, function() {
$(this).find('.dropdown-menu').first().stop(true, true).delay(100).slideUp();
});
$('.navbar .dropdown > a').click(function(){
location.href = this.href;
});
});
</script>
答案 1 :(得分:30)
对我而言,它的工作方式如下:我假设您使用了wp-bootstrap-navwalker
使用编辑器打开wp-bootstrap-navwalker.php并查找大约行。
// If item has_children add atts to a.
if ( $args->has_children && $depth === 0 ) {
$atts['href'] = '#';
$atts['data-toggle'] = 'dropdown';
$atts['class'] = 'dropdown-toggle';
} else {
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
}
将这段代码更改为:
// If item has_children add atts to a.
if ( $args->has_children && $depth === 0 ) {
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
//$atts['data-toggle'] = 'dropdown';
$atts['class'] = 'dropdown-toggle';
} else {
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
}
注意:$ att [&#39; href&#39;]现已启用,$ atts [&#39;数据切换&#39;]被禁用,这使得父链接可以点击。
现在打开你的style.css并添加这段代码,通过下拉列表和可点击的父级激活你的WordPress菜单的悬停功能。
.dropdown:hover .dropdown-menu {
display: block;
}
&#13;
注意:在具有小屏幕的小型设备上,菜单的行为会略有改变。不需要额外的jQuery。
答案 2 :(得分:9)
您可以通过删除data-toggle =“dropdown”并设置data-hover =“dropdown”来设置。
答案 3 :(得分:3)
要添加到Sohail Qureshi的解决方案中,我对文件进行了更多修改,这是将父链接转换为实际链接的方法:
在wp-bootstrap-navwalker.php中,更改这段代码:
// If item has_children add atts to a.
if ( $args->has_children && $depth === 0 ) {
$atts['href'] = '#';
$atts['data-toggle'] = 'dropdown';
$atts['class'] = 'dropdown-toggle';
} else {
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
}
到:
// If item has_children add atts to a.
if ( $args->has_children && $depth === 0 ) {
$atts['href'] = ( $item->url );
$atts['data-toggle'] = 'dropdown';
$atts['class'] = 'dropdown-toggle disabled';
$atts['aria-haspopup'] = 'true';
} else {
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
}
现在父链接可以点击,实际链接到页面!
答案 4 :(得分:2)
2018年5月这个解决方案对我有用。
转到你的class-wp-bootstrap-navwalker.php文件 - &gt;评论第185行
// $atts['href'] = '#';
并粘贴此代码。
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
$atts['data-toggle'] = 'hover';
享受。
答案 5 :(得分:0)
在下面的代码中轻松使用drapdown中的可点击链接
onClick="parent.location='http://www.plus2net.com/'"
答案 6 :(得分:-1)
//哇!!!此代码正常运行。只需将其粘贴到项目的正确位置即可。 //如果item has_children将atts添加到。
if ( $args->has_children && $depth === 0 ) {
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
//$atts['data-toggle'] = 'dropdown';
$atts['class'] = 'dropdown-toggle';
} else {
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
}