wp_nav_menu_setup() WP 3.0.0

Реєструє метабокси та додає до налаштувань екрана секцію “Показувати розширені властивості меню”.

Ця функція викликається на сторінці створення та редагування довільних меню WordPress.

Функція використовується двигуном і як правило не призначена для використання будь-де.

Порядок роботи:

  • Викликається на сторінці /wp-admin/nav-menus.php
  • Викликає wp_nav_menu_post_type_meta_boxes() для реєстрації метабоксів під кожен тип посту, в якому можна буде вибирати пости як пункт меню.
  • Викликає add_meta_box( ‘add-custom-links’, … ) для реєстрації метабоксу, що дозволяє додавати довільні посилання в меню.
  • Викликає wp_nav_menu_taxonomy_meta_boxes() під кожну таксономію, де можна буде вибирати терміни як пункт меню.
  • Викликає add_filter( ‘manage_nav-menus_columns’, …), за допомогою якого додається в опції екрану вибір розширених властивостей пунктів меню (атрибут title, класи CSS тощо) для відображення.
  • Перевіряється наявність метаполя managenav-menuscolumnshidden у користувача і, якщо його немає, створює з дефолтними параметрами відображення розширених властивостей меню. Потрібно для моментів коли користувач заходить на сторінку створення меню вперше.

Хуків немає.

Повертає

null. Нічого.

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

wp_nav_menu_setup();

Приклади

0

#1 Використовується в ядрі WP

Приклад використання дивіться у файлі /wp-admin/nav-menus.php .

список змін

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

Код wp_nav_menu_setup() WP 6.0.2

function wp_nav_menu_setup() {
	// Register meta boxes.
	wp_nav_menu_post_type_meta_boxes();
	add_meta_box( 'add-custom-links', __( 'Custom Links' ), ​​'wp_nav_menu_item_link_meta_box', 'nav-menus', 'side', 'default' );
	wp_nav_menu_taxonomy_meta_boxes();

	// Register advanced menu items (columns).
	add_filter( 'manage_nav-menus_columns', 'wp_nav_menu_manage_columns');

	// If first time editing, disable advanced items by default.
	if ( false === get_user_option( 'managenav-menuscolumnshidden' ) ) {
		$user = wp_get_current_user();
		update_user_meta(
			$user->ID,
			'managenav-menuscolumnshidden',
			array(
				0 => 'link-target',
				1 => 'css-classes',
				2 => 'xfn',
				3 => 'description',
				4 => 'title-attribute',
			)
		);
	}
}

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

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