wp_nav_menu returns false even though a menu is assigned to it

It turns out the fault was all mine.

I was attaching a callback function to the wp_nav_menu_items hook that returned empty if it wasn’t the main menu… This was it:

// Add logo in main menu

 add_filter( 'wp_nav_menu_items', 'add_logo_in_main_menu', 10, 2 );



function add_logo_in_main_menu( $items, $menu ){
    /*
        Append logo to main menu
    */
        if(is_admin() ||  'primary_navigation' !== $menu->theme_location){
            return;  //<!--- in this case, returns nothing
        }
        return '<li class="c-logo--medium"><img src="'.get_stylesheet_directory_uri().'/assets/images/logo-pm.jpg" alt=""></li>'. $items;

    }

The fix was easy:

function add_logo_in_main_menu( $items, $menu ){
        /*
        Append logo to main menu
        */
        if(is_admin() ||  'primary_navigation' !== $menu->theme_location){
            return $items;
        }
        return '<li class="c-logo--medium"><img src="'.get_stylesheet_directory_uri().'/assets/images/logo-pm.jpg" alt=""></li>'. $items;

    }

Sorry for the noise.