# wp_copy_parent_attachment_properties()

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

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

## Сигнатура

```php
wp_copy_parent_attachment_properties( string $cropped, int $parent_attachment_id, string $context = '' ): array
```

## Описание

Копирует свойства родительского вложения в только что обрезанное изображение.

## Параметры

- `$cropped` `string` — обязательный. Путь к файлу обрезанного изображения.
- `$parent_attachment_id` `int` — обязательный. ID вложения родительского файла.
- `$context` `string` — необязательный, по умолчанию `''`. Управляет вызовом функции.

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

`array`

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

Файл: `wp-admin/includes/image.php:522`

```php
function wp_copy_parent_attachment_properties( $cropped, $parent_attachment_id, $context = '' ) {
	$parent          = get_post( $parent_attachment_id );
	$parent_url      = wp_get_attachment_url( $parent->ID );
	$parent_basename = wp_basename( $parent_url );
	$url             = str_replace( wp_basename( $parent_url ), wp_basename( $cropped ), $parent_url );

	$size       = wp_getimagesize( $cropped );
	$image_type = $size ? $size['mime'] : 'image/jpeg';

	$sanitized_post_title = sanitize_file_name( $parent->post_title );
	$use_original_title   = (
		( '' !== trim( $parent->post_title ) ) &&
		/*
		 * Check if the original image has a title other than the "filename" default,
		 * meaning the image had a title when originally uploaded or its title was edited.
		 */
		( $parent_basename !== $sanitized_post_title ) &&
		( pathinfo( $parent_basename, PATHINFO_FILENAME ) !== $sanitized_post_title )
	);
	$use_original_description = ( '' !== trim( $parent->post_content ) );

	$attachment = array(
		'post_title'     => $use_original_title ? $parent->post_title : wp_basename( $cropped ),
		'post_content'   => $use_original_description ? $parent->post_content : $url,
		'post_mime_type' => $image_type,
		'guid'           => $url,
		'context'        => $context,
	);

	// Copy the image caption attribute (post_excerpt field) from the original image.
	if ( '' !== trim( $parent->post_excerpt ) ) {
		$attachment['post_excerpt'] = $parent->post_excerpt;
	}

	// Copy the image alt text attribute from the original image.
	if ( '' !== trim( $parent->_wp_attachment_image_alt ) ) {
		$attachment['meta_input'] = array(
			'_wp_attachment_image_alt' => wp_slash( $parent->_wp_attachment_image_alt ),
		);
	}

	$attachment['post_parent'] = $parent_attachment_id;

	return $attachment;
}
```

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

- 6.5.0 — Introduced.

## Связанные

Использует: [`wp_getimagesize`](https://chugunov.pro/api-wordpress/functions/wp_getimagesize/), [`sanitize_file_name`](https://chugunov.pro/api-wordpress/functions/sanitize_file_name/), [`wp_get_attachment_url`](https://chugunov.pro/api-wordpress/functions/wp_get_attachment_url/), [`wp_basename`](https://chugunov.pro/api-wordpress/functions/wp_basename/), [`wp_slash`](https://chugunov.pro/api-wordpress/functions/wp_slash/), [`get_post`](https://chugunov.pro/api-wordpress/functions/get_post/).
Используется в: [`wp_ajax_crop_image`](https://chugunov.pro/api-wordpress/functions/wp_ajax_crop_image/), `Custom_Image_Header::ajax_header_crop`, `Custom_Image_Header::step_3`.

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