classes ) && is_array( $item->classes ) ) { $classes = $item->classes; } $submenu = $args->has_children ? ' eel-has-submenu' : ''; if ( 0 === $depth ) { array_push( $classes, 'parent' ); } // Add mobile-friendly classes for better compatibility if ( $args->has_children ) { array_push( $classes, 'menu-item-has-children' ); } // Check if this is the last menu item and if Button option is selected $is_last_item = false; $menu_last_item_setting = ''; // Get the menu last item setting from the widget if ( isset( $args->menu_last_item ) ) { $menu_last_item_setting = $args->menu_last_item; } // Check if this is the last top-level menu item if ( $depth === 0 ) { // Get all top-level menu items to check if this is the last one $menu_items = wp_get_nav_menu_items( $args->menu ); if ( $menu_items && is_array( $menu_items ) ) { $top_level_items = array_filter( $menu_items, function( $menu_item ) { return $menu_item->menu_item_parent == 0; } ); $last_top_level_item = end( $top_level_items ); if ( $last_top_level_item && $last_top_level_item->ID === $item->ID ) { $is_last_item = true; } } } // Add last-item class to li element if Button option is selected if ( $is_last_item && $menu_last_item_setting === 'cta' ) { array_push( $classes, 'last-item' ); } // Ensure we have a valid array before applying filters $filtered_classes = apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth ); if ( ! is_array( $filtered_classes ) ) { $filtered_classes = array_filter( $classes ); } $class_names = join( ' ', $filtered_classes ); $class_names = ' class="' . esc_attr( $class_names ) . $submenu . ' eel-creative-menu"'; $value = apply_filters( 'nav_menu_li_values', $value ); $output .= $indent . '