2017-10-09 23 views
0

私はwordpress wp_nav_menuのli要素にクラスを追加しようとしています。私はここでいくつかの答えをたどってきましたが、その一部しか動かすことができません。だから私のナビゲーションメニューのために、i>はwp_nav_menuの特定のli要素にクラスを追加する方法

のfunctions.php>

//REGISTER NAVIGATION MENU 
function smtg_menus() { 
    register_nav_menus(
    array(
     'header-menu' => __('Header Menu'), 
     'footer-menu' => __('Footer Menu') 
    ) 
); 
} 
add_action('init', 'smtg_menus'); 

このコードを持っているカテゴリのドロップダウンメニューにNAV-リンク - ドロップダウンクラスを追加します。

function my_nav_menu_submenu_css_class($classes) { 
    $classes[] = 'nav-links-dropdown'; 
    return $classes; 
} 
add_filter('nav_menu_submenu_css_class', 'my_nav_menu_submenu_css_class'); 

header.phpの>

$args = array(
    'theme_location' => 'header-menu', 
    'container'  => 'nav', 
    'container_class' => '', 
    'container_id' => '', 
    'menu_class'  => '', 
    'menu_id'   => '', 
    'fallback_cb'  => false); 
wp_nav_menu($args); 

私はドロップダウン別名、サブメニューを有するもののli要素の一つだけで、私のメインのナビゲーションで4つのli要素の合計を持っています。

私はドロップダウンメニューをトリガーするためにドロップダウンを持つliにクラスを追加する方法を理解できません。ページのソースを見ると

は、私は2番目のLI要素で>

<!-- START NAV INSIDE NAV BAR --> 
<nav class="menu-header-menu-container"> 
    <ul id="menu-header-menu" class=""> 
     <li><a href="#">Home</a></li> 
     <li><a href="#">Categories</a> 
      <ul class="sub-menu nav-links-dropdown"> 
       <li><a href="#">Cat1</a></li> 
       <li><a href="#">cat2</a></li> 
       <li><a href="#">cat3</a></li> 
       <li><a href="#">cat4</a></li> 
       <li><a href="#">cat5</a></li> 
       <li><a href="#">cat6</a></li> 
      </ul> 
     </li> 
     <li><a href="#">Page 3</a></li> 
     <li><a href="#">Page 4</a></li> 
    </ul> 
</nav> 

を参照してください - 私は、ドロップダウンメニューを表示するためには、それにクラス猫-LI-ドロップダウンを追加する必要があります。私はどこでもphpでこれを行う方法を把握していないようです。

今、私はjqueryを使用してcats-li-dropdownクラスを2番目の要素に追加しています。

$('nav li:nth-child(2)').addClass('cats-li-dropdown'); 

jqueryを使用して2番目のli要素にクラスを追加する必要を避けるにはどうすればよいですか?

私は既にメニューオプションでwordpressにクラスを追加しようとしましたが、ページソースを見るとまだ空白になっています。

これはli要素に何も追加しませんでした。他のアイデア?

問題を示していないカスタムCSSクラスの場合

Class entered into the menu options in wordpress admin - doesn't add it on page

+0

あなたが作業しているワードプレスのメニューとページを持っているのですか? CSSクラスがあなたのために働いていないことは奇妙に思えます。また、wp_head()とwp_footer()をあなたのwordpressテンプレートに含めましたか? – Vincent1989

+0

今は4ページあります。ホーム。カテゴリ。情報接触。私のheader.phpにはwp_headがあり、私のfooter.phpにはwp_footerがあります。私のエンキューされたスクリプトとスタイルは、私のfunctions.phpファイルで100%動いています。私は、画像に見られるようにページのCSSクラスを追加するときにも、実際に生成されたコードにCSSクラスを追加しないのはなぜですか?うーん。 – grimesd

+0

それはあなたのWordPressのバージョンから別の厄介なグリッチかもしれませんが、とにかく私はサブメニューにカスタムCSSを追加する方法を見つけたhttps://stackoverflow.com/questions/5034826/wp-nav-menu-change-sub-menu-class-name – Vincent1989

答えて

0

menuパラメータを追加してみてください:

$args = array(
    'menu' => 'header-menu', 
    'theme_location' => 'header-menu', 
    'container'  => 'nav', 
    'container_class' => '', 
    'container_id' => '', 
    'menu_class'  => '', 
    'menu_id'   => '', 
    'fallback_cb'  => false); 
wp_nav_menu($args); 
+0

私はメニュー>場所をargsに追加しようとしましたが、ページソースを表示しても、私はメニュークラスオプションwp-adminで現在は使用中です nav li:nth-​​child(2):ホバー.nav-links-dropdown { \t display:block; } – grimesd

関連する問題