nav_menu_meta_box_object хук-фільтрWP 3.0.0

Дозволяє змінити об’єкт, який використовується для формування метабоксу в акордеоні з вибором пунктів меню на сторінці створення меню в адмінці.

Це може бути об’єкт класу:

  • WP_Post_Type у метабоксів “Записи”, “Сторінки” та довільних типів постів
  • WP_Taxonomy у метабоксів “Рубрики”, “Мітки”, “Формат” та довільних таксономій.

Якщо замість об’єкта повернути помилкове значення (false, null тощо), то поточний метабокс доданий в акордеон не буде.

Приклад утримання об’єкта у метабоксу “Записи”:

WP_Post_Type Object(
	[name] => post
	[label] => Записи
	[labels] => stdClass Object(
			[name] => Записи
			[singular_name] => Запис
			[add_new] => Додати новий
			[add_new_item] => Додати запис
			[edit_item] => Редагувати запис
			[new_item] => Новий запис
			[view_item] => Переглянути запис
			[view_items] => Перегляд записів
			[search_items] => Пошук записів
			[not_found] => Записів не знайдено.
			[not_found_in_trash] => Записів у кошику не знайдено.
			[parent_item_colon] =>
			[all_items] => Всі записи
			[archives] => Архіви записів
			[attributes] => Властивості запису
			[insert_into_item] => Вставити в запис
			[uploaded_to_this_item] => Завантажені для цього запису
			[featured_image] => Зображення запису
			[set_featured_image] => Встановити зображення запису
			[remove_featured_image] => Видалити зображення запису
			[use_featured_image] => Використовувати як зображення запису
			[filter_items_list] => Фільтрувати список записів
			[items_list_navigation] => Навігація за списком записів
			[items_list] => Список записів
			[menu_name] => Записи
			[name_admin_bar] => Запис
		)

	[description] =>
	[public] => 1
	[hierarchical] =>
	[exclude_from_search] =>
	[publicly_queryable] => 1
	[show_ui] => 1
	[show_in_menu] => 1
	[show_in_nav_menus] => 1
	[show_in_admin_bar] => 1
	[menu_position] => 5
	[menu_icon] =>
	[capability_type] => post
	[map_meta_cap] => 1
	[register_meta_box_cb] =>
	[taxonomies] => Array()

	[has_archive] =>
	[query_var] =>
	[can_export] => 1
	[delete_with_user] => 1
	[_builtin] => 1
	[_edit_link] => post.php?post=%d
	[cap] => stdClass Object(
			[edit_post] => edit_post
			[read_post] => read_post
			[delete_post] => delete_post
			[edit_posts] => edit_posts
			[edit_others_posts] => edit_others_posts
			[publish_posts] => publish_posts
			[read_private_posts] => read_private_posts
			[read] => read
			[delete_posts] => delete_posts
			[delete_private_posts] => delete_private_posts
			[delete_published_posts] => delete_published_posts
			[delete_others_posts] => delete_others_posts
			[edit_private_posts] => edit_private_posts
			[edit_published_posts] => edit_published_posts
			[create_posts] => edit_posts
		)

	[rewrite] =>
	[show_in_rest] => 1
	[rest_base] => posts
	[rest_controller_class] => WP_REST_Posts_Controller
	[_default_query] => Array(
			[post_status] => publish
		)

)

Використання

add_filter( 'nav_menu_meta_box_object', 'wp_kama_nav_menu_meta_box_object_filter' );

/**
 * Function for `nav_menu_meta_box_object` filter-hook.
 *
 * @param WP_Post_Type|false $post_type Цей поточний об'єкт доданий до меню пунктів meta box for.
 *
 * @return WP_Post_Type|false
 */
function wp_kama_nav_menu_meta_box_object_filter( $post_type ){

	// Filter...
	return $post_type;
}
$meta_box_object
(об’єкт)
Поточний об’єкт формування метабоксу в акордеоні.

Приклади

0

#1 Змінимо заголовок метабоксу “Рубрики”.

add_filter( 'nav_menu_meta_box_object', function ( $obj ) {
	if ( 'category' == $obj->name ) {
		$obj->labels->name = 'Мої рубрики';
	}

	return $obj;
} );
0

#2 Видалимо метабокс “Формат”.

add_filter( 'nav_menu_meta_box_object', function ( $obj ) {
	if ( 'post_format' == $obj->name ) {
		$ obj = null;
	}

	return $obj;
} );

список змін

З версії 3.0.0Введено.

Де викликається хук

nav_menu_meta_box_object

nav_menu_meta_box_object

nav_menu_meta_box_object

Де використовується хук у WordPress

wp-admin/includes/admin-filters.php 53

add_filter( 'nav_menu_meta_box_object', '_wp_nav_menu_meta_box_object' );

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *