You need to wrap the form shortcode in a form-wrap shortcode to make it work…
Total Theme: Overwrite Menu Items by class
Better approach
//THEME - MEGAMENU - ICONBOX
function add_nav_description( $item_output, $item, $depth, $args ) {
$menu_name = 'MAIN';
//print_r($item);
if ( !empty( $item->description ) && $menu_name == $args->menu->name ) {
$icon_id = get_post_meta( $item->ID, '_menu_item_totaltheme_icon', true );
$icon_id = str_replace('id_', '', $icon_id);
$html = do_shortcode('[vc_row remove_bottom_col_margin="true"][vc_column][vcex_icon_box heading="' . $item->title . '" heading_type="div" image="' . $icon_id . '" url_wrap="true" onclick="custom_link" classes="menu-box" onclick_url="' . $item->url . '"]' . $item->description . '[/vcex_icon_box][/vc_column][/vc_row]');
$item_output = $html; //$item->title." ".$item->description.$icon_id;
/*$item_output = str_replace(
$args->link_after . '</a>',
'<div class="menu-item-description">' . $item->description . '</div>' . $args->link_after . '</a>',
$item_output
);*/
}
return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'add_nav_description', 10, 4 );
Old approach
// Override the menu item with the 'megamenu-template-1' class with a dynamic template
add_filter( 'walker_nav_menu_start_el', function( $output, $item, $depth, $args ) {
//FORDERUNG
if ( isset( $item->classes ) && is_array( $item->classes ) && in_array( 'megamenu-template-1', $item->classes, true ) ) {
return do_shortcode( '<div class="wpex-no-renaming">[wpex_template id="160"]</div>' );
}
if ( isset( $item->classes ) && is_array( $item->classes ) && in_array( 'megamenu-template-2', $item->classes, true ) ) {
return do_shortcode( '<div class="wpex-no-renaming">[wpex_template id="162"]</div>' );
}
if ( isset( $item->classes ) && is_array( $item->classes ) && in_array( 'megamenu-template-3', $item->classes, true ) ) {
return do_shortcode( '<div class="wpex-no-renaming">[wpex_template id="163"]</div>' );
}
//PROJEKTE
if ( isset( $item->classes ) && is_array( $item->classes ) && in_array( 'megamenu-template-4', $item->classes, true ) ) {
return do_shortcode( '<div class="wpex-no-renaming">[wpex_template id="9032"]</div>' );
}
if ( isset( $item->classes ) && is_array( $item->classes ) && in_array( 'megamenu-template-5', $item->classes, true ) ) {
return do_shortcode( '<div class="wpex-no-renaming">[wpex_template id="9033"]</div>' );
}
if ( isset( $item->classes ) && is_array( $item->classes ) && in_array( 'megamenu-template-6', $item->classes, true ) ) {
return do_shortcode( '<div class="wpex-no-renaming">[wpex_template id="9034"]</div>' );
}
//ABOUT
//leitbild
if ( isset( $item->classes ) && is_array( $item->classes ) && in_array( 'megamenu-template-7', $item->classes, true ) ) {
return do_shortcode( '<div class="wpex-no-renaming">[wpex_template id="9123"]</div>' );
}
//team
if ( isset( $item->classes ) && is_array( $item->classes ) && in_array( 'megamenu-template-8', $item->classes, true ) ) {
return do_shortcode( '<div class="wpex-no-renaming">[wpex_template id="9124"]</div>' );
}
//faq
if ( isset( $item->classes ) && is_array( $item->classes ) && in_array( 'megamenu-template-9', $item->classes, true ) ) {
return do_shortcode( '<div class="wpex-no-renaming">[wpex_template id="9125"]</div>' );
}
return $output;
}, 50, 4 );
