08.11.2025

Как на сайте WordPress вывести готовое меню по ID через PHP-функцию wp_nav_menu() . Вывод меню wordpress через шорткод

Небольшой php код позволяющий вывести готовое меню на сайте под управлением WordPress по ID.

<?php
wp_nav_menu(
array(
'menu' => 3, // ID меню (замените на ваш ID)
'container' => 'nav', // Обертка для меню (например, <nav>)
'container_class' => 'main-navigation', // CSS-класс для обертки
'menu_class' => 'main-menu', // CSS-класс для <ul>
'fallback_cb' => false, // Отключаем вывод резервного меню, если меню не найдено
)
);
?>

Если нужно вывести только 1 уровень меню

<?php
wp_nav_menu(
	array(
		'menu'           => 306,
		'container'      => 'nav',
		'container_class'=> 'main-na grid-container',
		'menu_class'     => 'main-menu',
		'fallback_cb'    => false,
		'depth'          => 1, // ← только верхний уровень
	)
);
?>

Вывод меню wordpress через свой шорткод через ID меню

Код для functions.php (или плагина)

function menu_by_id_shortcode( $atts ) {
    $atts = shortcode_atts( array(
        'id' => 0, // ID меню (обязательный параметр)
    ), $atts, 'menu_id' );

    return wp_nav_menu( array(
        'menu'   => intval( $atts['id'] ),
        'echo'   => false,  // возвращаем строку, а не выводим сразу
        'fallback_cb' => false,
    ) );
}
add_shortcode( 'menu_id', 'menu_by_id_shortcode' );

Сам шорткод

[ menu_id id="359" ]
guest
Другие сообщения форума
Закрыть меню