2017-10-09 100 views
0

我試圖向我的wordpress wp_nav_menu中的li元素添加一個類。我在這裏跟隨了幾個答案,但只能得到它的一部分工作。因此,對於我的導航菜單,我有>如何將類添加到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); 

我有一個總的4種li元素在我的主導航,只有具有子菜單的那些li元素,又名下拉中的一個。

我無法弄清楚如何添加一個類到有下拉的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添加到第二個元素中,像這樣。

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

如何避免必須使用jquery向第二個li元素添加類?

我已經嘗試在菜單選項中添加wordpress中的類,但當我查看頁面源時它仍然空白。

這沒有添加任何元素,即使它看起來應該。任何其他想法?

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

+0

你有與您正在使用的WordPress的菜單頁面?看起來奇怪的是,CSS類不適合你。你還有在你的WordPress模板中包含wp_head()和wp_footer()嗎? – Vincent1989

+0

現在我有4頁。家。分類。信息。聯繫。在我的header.php中,我有wp_head,並在我的footer.php中有wp_footer。我入隊的腳本和樣式在我的functions.php文件中100%工作。我很難理解爲什麼甚至在圖片中添加頁面的css類時,它實際上不會將其添加到生成的代碼中。嗯。 – grimesd

+0

這可能是從你的wordpress版本另一個令人討厭的小故障,無論如何,我找到了一種方法來添加自定義CSS子菜單https://stackoverflow.com/questions/5034826/wp-nav-menu-change-sub-menu-class-name – Vincent1989

回答

0

,不顯示問題的自定義CSS類,嘗試添加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

我嘗試將菜單>位置添加到參數中,並且在查看頁面源時,它仍然不會添加我輸入到菜單類選項中的類在wp-admin中。現在我正在使用 導航li:nth-​​child(2):懸停.nav-links-dropdown { \t display:block; } – grimesd

相關問題