Bootstrap on WPインストール時に実行していて、URLが親のドロップダウンナビゲーションアイテムから削除されるという問題があります。
これがコードです。 menu-item-72では、our-teamの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>
これを機能させるには何が欠けていますか?アイテムがアクティブなエントリに関連付けられていることを確認しました。
デフォルトでは、bootstrapドロップダウンの親アイテムはクリックできません。このスクリプトをページに追加すると、次のようになります。
<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>
このソリューションの功績は http://wpeden.com/tipsntuts/Twitter-bootstrap-dropdown-on-hover-and-activating-click-event-on-parent-item/ に送られます。
私にとってはこのように機能しました:あなたは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 ['href']が有効になり、$ atts ['data-toggle']が無効になり、親リンクがクリック可能になります。
ここで、style.cssを開き、このコードを追加して、ドロップダウンとクリック可能な親を持つWordPressメニューのホバー機能をアクティブにします。
.dropdown:hover .dropdown-menu {
display: block;
}
注:小さな画面の小さなデバイスでは、メニューの動作が少し異なります。追加のjQueryは必要ありません。
これを設定するには、data-toggle = "dropdown"を削除し、data-hover = "dropdown"を設定します。
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 : '';
}
そして今、親リンクはクリック可能であり、実際にページにリンクしています!
2018年5月、このソリューションは私にとってうまくいきました。
Class-wp-bootstrap-navwalker.phpファイルに移動します->コメント行185
// $atts['href'] = '#';
このコードを貼り付けます。
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
$atts['data-toggle'] = 'hover';
楽しい。
ドラップダウンのクリック可能なリンクのコードの下で使いやすい
onClick="parent.location='http://www.plus2net.com/'"