2016-11-16 9 views
1

私は今この問題に悩まされています。私があなたを助けてくれることを願っています。とても感謝しております。Wordpress Menu + Bootstrap NavBar

1番目 - 私はWordpress Menuを作成しました(すべて機能しました)。 2番目 - WordpressメニューのhtmlタグでBootstrapクラス(nav navbar-nav、dropdown、dropdown-menuなど)を実装しました。3rd - ドロップダウンを行うには、デフォルト(サブメニュー)を(ドロップダウンメニュー)に置き換えて、次に機能を動作させるために(preg_place)を使用しました。もう一度クラスを挿入し、アンカーリンクにデータを切り替えます。

問題は、アンカーリンクがまったく機能していないように見えることです。

check it out here.

(一番上のNAVを使用)相続人function.php

function new_submenu_class($menu) { 
$menu = preg_replace('/ class="sub-menu"/','/ class="dropdown-menu" /',$menu); 
return $menu; 
} 
add_filter('wp_nav_menu','new_submenu_class'); 

function add_menuclass($ulclass) { 
$ulclass = preg_replace('/<a/', '<a class="dropdown-toggle" data-toggle="dropdown" role="button"', $ulclass); 
return $ulclass; 
} 
add_filter('wp_nav_menu','add_menuclass'); 

おかげで多くの人たちを上のコード!

そしてbtw ..私は第3レベルのサブメニューのためにjQueryを使いました。これは次のとおりです。
... a.dropdown-toggleがhappendedされているため

$('.navbar').on('click', 'a.dropdown-toggle', function(e) { 

:この1のために

$('.navbar a.dropdown-toggle').on('click', function(e) { 

:機能で

<script type="text/javascript"> 
$(document).ready(function() { 
$('.navbar a.dropdown-toggle').on('click', function(e) { 
var $el = $(this); 
var $parent = $(this).offsetParent(".dropdown-menu"); 
$(this).parent("li").toggleClass('open'); 
if(!$parent.parent().hasClass('nav')) { 
$el.next().css({"top": $el[0].offsetTop, "left": $parent.outerWidth() - 4}); 
    } 

    $('.nav li.open').not($(this).parents("li")).removeClass("open"); 

    return false; 
}); 
}); 

</script> 
+0

あなたのサブナビにはドロップダウントグルクラスがあり、それは動作していません –

+0

あなたのコードを修正する方法は正確にはわかりませんが、https://github.com/twittemをご覧ください。/wp-bootstrap-navwalker – jurruh

答えて

0

、私はこの行を変更しようとしますドキュメント準備ができていない可能性がありますので、 "delagation"という構文が役立ちます。