2017-10-09 147 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

相关问题