WordPress菜单如何仅向父类添加一个元素?

问题描述 投票:0回答:1

我想将类下拉列表仅添加到父元素。我试图将一些代码添加到functions.php,但这并不能解决我的问题。是否可以使用jquery / js做到这一点?

<nav class="container_menu">
    <ul class="reset">
        <li class="active "><a title="Home" href="/" class="class here">Home</a></li>

        <li class="menu "><a title="parent" href="/parent" class="class here">parent</a>
            <ul class="reset">
                <li class=""><a title="child1" href="/child/child1">child 1</a></li>
                <li class=""><a title=child2" href="/child/child2">Child 2</a></li>
            </ul>
        </li>

    </ul>
</nav>
jquery wordpress menu parent nav
1个回答
0
投票

不使用jquery或javascript或其他框架客户端。

您可以创建一个函数并将过滤器添加到wp_nav_menu_objects,如下所示:

/**
* Add a parent CSS class for nav menu items.
*
* @param array  $items The menu items, sorted by each menu item's menu order.
* @return array (maybe) modified parent CSS class.
*/
function wpdocs_add_menu_parent_class( $items ) {
    $parents = array();

    // Collect menu items with parents.
    foreach ( $items as $item ) {
        if ( $item->menu_item_parent && $item->menu_item_parent > 0 ) {
            $parents[] = $item->menu_item_parent;
        }
    }

    // Add class.
    foreach ( $items as $item ) {
        if ( in_array( $item->ID, $parents ) ) {
            $item->classes[] = 'dropdown'; //here attach the class
        }
    }
    return $items;
}
add_filter( 'wp_nav_menu_objects', 'wpdocs_add_menu_parent_class' );
© www.soinside.com 2019 - 2024. All rights reserved.