0

我正在尝试向我的 wordpress wp_nav_menu 中的 li 元素添加一个类。我在这里遵循了几个答案,但只能使其部分工作。所以对于我的导航菜单,我有 >

函数.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-links-dropdown 类添加到类别的下拉菜单中。

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' );

头文件.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 元素上 - 我需要向它添加类 cats-li-dropdown 以显示下拉菜单。我似乎无法弄清楚如何在任何地方的 php 中做到这一点。

现在我正在使用 jquery 将类 cat-li-dropdown 添加到第二个元素,就像这样。

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

如何避免必须使用 jquery 将类添加到第二个 li 元素?

我已经尝试在菜单选项中的 wordpress 中添加类,但是当我查看页面源时它仍然是空白的。

这对 li 元素没有任何添加,尽管它看起来应该如此。还有其他想法吗?

在 wordpress admin 中输入菜单选项的类 - 不在页面上添加

4

1 回答 1

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 );
于 2017-10-09T03:59:46.657 回答