_wp_reset_invalid_menu_item_parent()WP 6.2.0

Prevents menu items from being their own parent.

Resets menu_item_parent to 0 when the parent is set to the item itself. For use before saving _menu_item_menu_item_parent in nav-menus.php.

Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.

Хуков нет.

Возвращает

Массив. The menu item data with reset menu_item_parent.

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

_wp_reset_invalid_menu_item_parent( $menu_item_data );
$menu_item_data(массив) (обязательный)
The menu item data array.

Список изменений

С версии 6.2.0 Введена.

Код _wp_reset_invalid_menu_item_parent() WP 6.3.1

function _wp_reset_invalid_menu_item_parent( $menu_item_data ) {
	if ( ! is_array( $menu_item_data ) ) {
		return $menu_item_data;
	}

	if (
		! empty( $menu_item_data['ID'] ) &&
		! empty( $menu_item_data['menu_item_parent'] ) &&
		(int) $menu_item_data['ID'] === (int) $menu_item_data['menu_item_parent']
	) {
		$menu_item_data['menu_item_parent'] = 0;
	}

	return $menu_item_data;
}