# WP_NAV_MENU_POST_TYPE_META_BOXES() │ WP 3.0.0
Функция WP_NAV_MENU_POST_TYPE_META_BOXES() создаёт метабоксы для пунктов меню любого типа записи.
## Использование
Эта функция вызывается так:
```php
wp_nav_menu_post_type_meta_boxes();
Ключевые моменты
- Возвращаемое значение:
null. Функция ничего не возвращает.
Хуки функции
nav_menu_meta_box_objectпозволяет изменить поведение метабокса для конкретного типа записи.
Пример использования
Пример 1
В WP Core, вы можете найти пример использования в функции wp_nav_menu_setup().
Также вы можете взглянуть на файл /wp-admin/nav-menus.php, чтобы увидеть, как это работает на практике.
Код функции
Вот как выглядит код этой функции:
function wp_nav_menu_post_type_meta_boxes() {
$post_types = get_post_types( array( 'show_in_nav_menus' => true ), 'object' );
if ( ! $post_types ) {
return;
}
foreach ( $post_types as $post_type ) {
/**
* Фильтрует, будет ли добавлен метабокс для пункта меню
* для текущего типа объекта.
*
* Если возвращается falsy значение вместо объекта,
* метабокс для текущего типа объекта не будет добавлен.
*
* @since 3.0.0
*
* @param WP_Post_Type|false $post_type Текущий объект,
* для которого добавляется метабокс.
*/
$post_type = apply_filters( 'nav_menu_meta_box_object', $post_type );
if ( $post_type ) {
$id = $post_type->name;
// Устанавливаем большую приоритет для страниц.
$priority = ( 'page' === $post_type->name ? 'core' : 'default' );
add_meta_box(
"add-post-type-{$id}",
$post_type->labels->name,
'wp_nav_menu_item_post_type_meta_box',
'nav-menus',
'side',
$priority,
$post_type
);
}
}
}
Связанные функции
Вот некоторые функции, связанные с wp_nav_menu_post_type_meta_boxes():
- _deprecated_function() — показывает, если функция устарела.
- create_initial_post_types() — создаёт начальные типы записей.
- wp_nav_menu_setup() — подготавливает меню.
- wp_nav_menu_taxonomy_meta_boxes() — создаёт метабоксы для таксономий.
Навигационное меню (NAV_MENU)
Вот несколько функций, которые могут быть полезны по теме навигационного меню:
_wp_menu_item_classes_by_context()— определяет классы элементов меню в зависимости от контекста.get_nav_menu_locations()— получает местоположения навигационного меню.has_nav_menu()— проверяет, создано ли навигационное меню.is_nav_menu()— определяет, является ли данная запись меню.register_nav_menu()— регистрирует одно меню.register_nav_menus()— регистрирует несколько меню.unregister_nav_menu()— отменяет регистрацию меню.Walker_Nav_Menu()— помогает управлять выводом элементов меню.wp_get_nav_menu_items()— получает элементы меню.wp_get_nav_menu_name()— получает имя меню.wp_get_nav_menu_object()— получает объект меню.wp_get_nav_menus()— получает все меню.wp_nav_menu()— выводит меню на страницу.
Статья теперь структурирована, понятна для начинающих пользователей, и содержит все необходимые пояснения.