php 如何将类添加到子菜单中的最后一个元素

jqjz2hbq  于 2023-02-07  发布在  PHP
关注(0)|答案(1)|浏览(132)

我有一个多级菜单。我需要li元素在第一级嵌套中有一个自定义类。在这个菜单中,在第一级嵌套中会有其他嵌套,但是我只需要最后一个li元素在第一级嵌套中有一个自定义类。我该怎么做呢?现在我有了一个代码,可以在顶级的最后一个li元素中添加一个类。

function wpb_first_and_last_menu_class($items)
{
    $items[count($items)]->classes[] = 'last';
    return $items;
}
add_filter('wp_nav_menu_items', 'wpb_first_and_last_menu_class');
brccelvz

brccelvz1#

您可以修改代码以:

function wpb_first_and_last_menu_class($items) {
    foreach ($items as $item) {
        if ($item->menu_item_parent == 0 && $item->depth == 1) {
            $item->classes[] = 'last';
            break;
        }
    }
    return $items;
}
add_filter('wp_nav_menu_items', 'wpb_first_and_last_menu_class');

在这段代码中,我们使用foreach循环来迭代每个菜单项,并检查它是否是顶级项(menu_item_parent为0),深度为1。如果满足这些条件,我们将last类添加到菜单项中,并中断循环。深度为1的第一项将是第一级嵌套中的最后一项,并且将应用定制类。

相关问题