wp_get_attachment_metadata() WP 2.1.0

Отримує метадані прикріпленого файлу (вкладення).

Працює на основі:
get_post_meta()
1 раз – 0.000745 сек
(повільно) | 50000 разів – 1.22 сек
(швидко) |
PHP 7.0.8, WP 4.6

Хуки з функції

Повертає

Массив|false. Масив метаданих вказаного файлу. Якщо дані отримати не вдалося, буде повернуто false.

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

$meta = wp_get_attachment_metadata( $attachment_id, $unfiltered );
$attachment_id
(число) (обов’язковий)
ID вкладення, метадані якого потрібно отримати.
$unfiltered
(логічний)
Якщо змінити на true, то буде відключено роботу фільтрів.


Типово: false

Приклади

0

#1 Отримаємо метадані вкладення 656 (картинка):

$array = wp_get_attachment_metadata(656);

В результаті змінна $arrayміститиме приблизно такі дані (залежить від типу вкладення):

Array
(
	[width] => 356
	[height] => 299
	[file] => 2011/05/dinamic-archives.png
	[sizes] => Array
		(
			[thumbnail] => Array
				(
					[file] => dinamic-archives-80x80.png
					[width] => 80
					[height] => 80
					[mime-type] => image/png
				)

			[medium] => Array
				(
					[file] => dinamic-archives-120x100.png
					[width] => 120
					[height] => 100
					[mime-type] => image/png
				)

		)

	[image_meta] => Array
		(
			[aperture] => 0
			[credit] =>
			[camera] =>
			 =>
			[created_timestamp] => 0
			[copyright] =>
			[focal_length] => 0
			[iso] => 0
			[shutter_speed] => 0
			[title] =>
		)

)

Виведемо дозволи картинки:

$meta = wp_get_attachment_metadata(656);

if( $meta ){
	echo $meta['width'] .'x'. $meta['height']; //> 356х299
}
0

#2 Отримаємо метадані вкладення 95 (відео):

$array = wp_get_attachment_metadata(95);

В результаті змінна $arrayміститиме приблизно такі дані (залежить від типу вкладення):

Array
(
	[filesize] => 61429114
	[mime_type] => video/mp4
	[length] => 1375
	[length_formatted] => 22:55
	[width] => 1280
	[height] => 720
	[fileformat] => mp4
	[dataformat] => quicktime
	 => Array
		(
			[dataformat] => mp4
			[codec] => ISO/IEC 14496-3 AAC
			[sample_rate] => 44100
			[channels] => 2
			[bits_per_sample] => 16
			[lossless] =>
			[channelmode] => stereo
		)

	[created_timestamp] => 1538981268
)

список змін

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

Код wp_get_attachment_metadata() WP 6.0.2

function wp_get_attachment_metadata( $attachment_id = 0, $unfiltered = false ) {
	$attachment_id = (int) $attachment_id;

	if (! $attachment_id) {
		$post = get_post();

		if (! $post) {
			return false;
		}

		$attachment_id = $post->ID;
	}

	$ data = get_post_meta ($attachment_id, '_wp_attachment_metadata', true);

	if (! $ data) {
		return false;
	}

	if ( $unfiltered ) {
		return $data;
	}

	/**
	 * Filters attachment meta data.
	 *
	 * @ Since 2.1.0
	 *
	 * @param array $data Array з meta data for given attachment.
	 * @param int $attachment_id Attachment post ID.
	 */
	return apply_filters( 'wp_get_attachment_metadata', $data, $attachment_id );
}

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

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