Как через шорткод вывести wp_nav_menu внутри HTML структуры?
wp_nav_menu(['echo' => false]), м? :)
Оно по умолчанию его выводит, а не возвращает, вот и выводится сначала меню, потом всё остальное.
Вау, точно! 
У меня стояло ['echo' => true], изменил на false и все нормально вывелось.
Спасибо!