wp_get_nav_menu_object()

Возвращает объект меню навигации
Функция WordPress
INT 3.0.0
WordPress Icon

Описание функции

Функция wp_get_nav_menu_object() возвращает объект меню навигации.

Функция принимает один обязательный параметр — идентификатор, слаг, название или объект меню. Если параметр не указан или термин не существует, функция вернет false.

Использование

wp_get_nav_menu_object( int|string|WP_Term $menu ) : WP_Term|false

Пример использования функции:

$menu_id = 5;
$menu_object = wp_get_nav_menu_object( $menu_id );

В данном примере мы получаем объект меню навигации с идентификатором 5.

  • $menu (int|string|WP_Term) — Обязательный. Идентификатор, слаг, название или объект меню.

Функция возвращает объект меню навигации типа WP_Term в случае успеха. Если параметр $menu не указан или термин не существует, функция вернет false.

<?php
/**
 * Пример использования функции wp_get_nav_menu_object()
 */
$menu_id = 5;
$menu_object = wp_get_nav_menu_object( $menu_id );
if ( $menu_object ) {
    // Меню найдено, выполняем действия с объектом меню
    echo 'Название меню: ' . $menu_object->name;
    echo 'Описание меню: ' . $menu_object->description;
    echo 'Слаг меню: ' . $menu_object->slug;
    echo 'Тип меню: ' . $menu_object->type;
    echo 'ID родительского меню: ' . $menu_object->parent;
} else {
    // Меню не найдено
    echo 'Меню не найдено.';
}
?>

В данном примере мы получаем объект меню навигации с идентификатором 5 и выводим некоторую информацию о нем, если меню найдено. Если меню не найдено, выводится сообщение «Меню не найдено».

Примеры использования

Получение объекта меню навигации по ID


$menu_id = 2;
$menu_object = wp_get_nav_menu_object($menu_id);
if ($menu_object) {
    // Меню найдено, выполняем действия с объектом меню
    // ...
} else {
    // Меню не найдено
    // ...
}

В данном примере мы получаем объект меню навигации по его ID, который равен 2.
Функция wp_get_nav_menu_object() возвращает объект меню, если меню с указанным ID существует,
иначе возвращает false.

Получение объекта меню навигации по имени


$menu_name = 'main-menu';
$menu_object = wp_get_nav_menu_object($menu_name);
if ($menu_object) {
    // Меню найдено, выполняем действия с объектом меню
    // ...
} else {
    // Меню не найдено
    // ...
}

В данном примере мы получаем объект меню навигации по его имени, которое равно ‘main-menu’.
Функция wp_get_nav_menu_object() возвращает объект меню, если меню с указанным именем существует,
иначе возвращает false.

Получение объекта меню навигации по слагу


$menu_slug = 'footer-menu';
$menu_object = wp_get_nav_menu_object($menu_slug);
if ($menu_object) {
    // Меню найдено, выполняем действия с объектом меню
    // ...
} else {
    // Меню не найдено
    // ...
}

В данном примере мы получаем объект меню навигации по его слагу, который равен ‘footer-menu’.
Функция wp_get_nav_menu_object() возвращает объект меню, если меню с указанным слагом существует,
иначе возвращает false.

Получение объекта меню навигации по объекту


$menu_object = get_term_by('name', 'sidebar-menu', 'nav_menu');
if ($menu_object) {
    // Меню найдено, выполняем действия с объектом меню
    // ...
} else {
    // Меню не найдено
    // ...
}

В данном примере мы получаем объект меню навигации по объекту термина.
Функция get_term_by() возвращает объект термина с указанным именем ‘sidebar-menu’
и таксономией ‘nav_menu’. Затем мы можем использовать полученный объект термина для получения объекта меню.
Если меню с указанным именем не найдено, то возвращается false.

Вопросы и ответы

Как получить объект меню по его ID?

Для получения объекта меню по его ID используется функция wp_get_nav_menu_object(). Она принимает один обязательный параметр — ID меню.

Пример использования:


$menu_id = 5;
$menu_object = wp_get_nav_menu_object($menu_id);

Как получить объект меню по его слагу?

Для получения объекта меню по его слагу также используется функция wp_get_nav_menu_object(). В качестве параметра передается слаг меню.

Пример использования:


$menu_slug = 'main-menu';
$menu_object = wp_get_nav_menu_object($menu_slug);

Как получить объект меню по его названию?

Для получения объекта меню по его названию также используется функция wp_get_nav_menu_object(). В качестве параметра передается название меню.

Пример использования:


$menu_name = 'Main Menu';
$menu_object = wp_get_nav_menu_object($menu_name);

Функция wp_get_nav_menu_object() возвращает объект меню, если параметр $menu был передан и соответствующий термин существует. В противном случае она возвращает false.

Что возвращает функция wp_get_nav_menu_object()?

Функция wp_get_nav_menu_object() возвращает объект меню навигации типа WP_Term в случае успешного выполнения. Если параметр $menu не указан или термин не существует, функция вернет false.

/**
 * Возвращает объект меню навигации.
 *
 * @param int|string|WP_Term $menu ID, слаг, имя или объект меню.
 * @return WP_Term|false Объект меню при успешном выполнении, false, если параметр $menu не указан или термин не существует.
 */
function wp_get_nav_menu_object( $menu ) {
    // код функции
}

Что произойдет, если не указать параметр $menu?

Если не указать параметр $menu, функция wp_get_nav_menu_object() вернет false.

$menu_object = wp_get_nav_menu_object(); // false

Что произойдет, если указанный термин не существует?

Если указанный термин не существует, функция wp_get_nav_menu_object() также вернет false.

$menu_object = wp_get_nav_menu_object( 'nonexistent_menu' ); // false

Какие типы данных можно использовать в качестве параметра $menu?

В качестве параметра $menu можно использовать целочисленное значение ID меню, строку со слагом или именем меню, а также объект типа WP_Term.

$menu_object = wp_get_nav_menu_object( 5 ); // объект меню с ID 5
$menu_object = wp_get_nav_menu_object( 'main-menu' ); // объект меню с слагом 'main-menu'
$menu_object = wp_get_nav_menu_object( 'Main Menu' ); // объект меню с именем 'Main Menu'
$menu_object = wp_get_nav_menu_object( $menu_term ); // объект меню, где $menu_term - объект типа WP_Term

Функция wp_get_nav_menu_object() возвращает объект меню навигации типа WP_Term при успешном выполнении. Если параметр $menu не указан или термин не существует, функция вернет false. В качестве параметра $menu можно использовать ID, слаг, имя или объект меню.

Связанные элементы

  • Функция wp_get_nav_menu_items(): Возвращает элементы меню для указанного меню.
  • Функция wp_nav_menu(): Выводит HTML-код для меню, заданного его идентификатором или его названием.
  • Функция wp_nav_menu_post_type_meta_boxes(): Добавляет метабоксы для типа записи «nav_menu_item».
  • Хук wp_get_nav_menu_items: Вызывается после получения элементов меню для указанного меню.
  • Хук wp_nav_menu_args: Позволяет изменить аргументы, используемые при выводе меню.
  • Хук wp_nav_menu_items: Вызывается после формирования HTML-кода для меню.
  • Хук wp_setup_nav_menu_item: Вызывается при настройке объекта элемента меню перед его использованием.
  • Класс Walker_Nav_Menu: Базовый класс для создания пользовательских классов обходчиков меню.
Обсуждение