# _get_custom_object_labels()

URL: https://chugunov.pro/api-wordpress/functions/_get_custom_object_labels/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 3.0.0.

## Сигнатура

```php
_get_custom_object_labels( object $data_object, array $nohier_vs_hier_defaults ): object
```

## Описание

Формирует объект с метками пользовательского объекта (тип записи, таксономия) на основе такого пользовательского объекта

## Параметры

- `$data_object` `object` — обязательный. Пользовательский объект.
- `$nohier_vs_hier_defaults` `array` — обязательный. Метки по умолчанию для иерархических и неиерархических типов.

## Возвращаемое значение

`object`

## Исходный код

Файл: `wp-includes/post.php:2195`

```php
function _get_custom_object_labels( $data_object, $nohier_vs_hier_defaults ) {
	$data_object->labels = (array) $data_object->labels;

	if ( isset( $data_object->label ) && empty( $data_object->labels['name'] ) ) {
		$data_object->labels['name'] = $data_object->label;
	}

	if ( ! isset( $data_object->labels['singular_name'] ) && isset( $data_object->labels['name'] ) ) {
		$data_object->labels['singular_name'] = $data_object->labels['name'];
	}

	if ( ! isset( $data_object->labels['name_admin_bar'] ) ) {
		$data_object->labels['name_admin_bar'] = $data_object->labels['singular_name'] ?? $data_object->name;
	}

	if ( ! isset( $data_object->labels['menu_name'] ) && isset( $data_object->labels['name'] ) ) {
		$data_object->labels['menu_name'] = $data_object->labels['name'];
	}

	if ( ! isset( $data_object->labels['all_items'] ) && isset( $data_object->labels['menu_name'] ) ) {
		$data_object->labels['all_items'] = $data_object->labels['menu_name'];
	}

	if ( ! isset( $data_object->labels['archives'] ) && isset( $data_object->labels['all_items'] ) ) {
		$data_object->labels['archives'] = $data_object->labels['all_items'];
	}

	$defaults = array();
	foreach ( $nohier_vs_hier_defaults as $key => $value ) {
		$defaults[ $key ] = $data_object->hierarchical ? $value[1] : $value[0];
	}

	$labels              = array_merge( $defaults, $data_object->labels );
	$data_object->labels = (object) $data_object->labels;

	return (object) $labels;
}
```

## История изменений

- 3.0.0 — Introduced.

## Связанные

Используется в: [`get_taxonomy_labels`](https://chugunov.pro/api-wordpress/functions/get_taxonomy_labels/), [`get_post_type_labels`](https://chugunov.pro/api-wordpress/functions/get_post_type_labels/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/_get_custom_object_labels/
