Output existing wp_nav_menu with a custom walker

By default wp_nav_menu() outputs the navigation markup. If you want to store it or want to concatenate it with other string then you’d have to set the echo parameter to false (by default it’s true).

$output .= '<ul class="sub-menu">
        ' . wp_nav_menu( array(
                'theme_location' => 'col_1',
                'menu_id'        => 'col_1',
                'menu_class'     => 'col_1',
                'container'      => '',
                'echo'           => false,
                ) ) . '
        </ul>';