带有多个类的WP_NAV_MENU()

时间:2016-12-05 作者:siad

我想用wp_nav_menu(). 我正在尝试添加多个类,但我没有这方面的经验。我想我必须重写一个类,但是。。。

<div class="top-menu">
<ul class="nav_menu">        
    <li class="nav_menu-item"><a href="javascript:void(0)" class="nav-p">PRODUCTS</a>
    <!-- ... -->
    </li>
    <li class="nav_menu-item"><a href="javascript:void(0)" class="nav-n">NEW</a>
        <ul class="nav_submenu">
        <!-- ... -->
        </ul>
    </li>
    <li class="nav_menu-item">
    <!-- ... -->
    </li>
    <li class="nav_menu-item">
    <!-- ... -->
    </li>
</ul>

你能帮我查一下密码吗?

1 个回复
SO网友:Howdy_McGee

我不知道你每门课的条件是什么nav_menu_css_class. 您可以使用它来附加类或从每个列表项中删除类<li> 在菜单中。

/**
 * Modify list item classes of wp_nav_menu
 * - https://codex.wordpress.org/Plugin_API/Filter_Reference/nav_menu_css_class
 * - https://developer.wordpress.org/reference/hooks/nav_menu_css_class/
 *
 * @param Array $classes || List of list-item classes
 * @param WP_Nav_Item Object $item || The Nav Menu Object, NOT the WP_Post object
 *
 * @return Array $classes
 */
function my_special_nav_class( $classes, $item ) {

    $menu_to_test_against = \'MENU NAME HERE\';

    // Ensure we only apply this filter on the menu of our choice
    if( ! has_term( $menu_to_test_against, \'nav_menu\', $item ) ) {
        return $classes;
    }

    $classes[] = \'nav-p\';
    $classes[] = \'nav-n\';

    return $classes;
}
add_filter( \'nav_menu_css_class\', \'my_special_nav_class\', 10, 2 );

相关推荐

无法将设置添加到“NAV_MENUS”定制器面板

我试图在自定义程序的“菜单”面板中添加一个复选框,但由于某些原因,它没有显示出来。如果我尝试将其从“nav\\u菜单”更改为“title\\u tagline”或“colors”,复选框会显示得很好。是什么阻止它显示在“菜单”面板上?// add custom options to the Customizer function nssra_customizer_options($wp_customize) { // add \"menu primary flex\" checkb