WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

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] => 
			[caption] => 
			[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
	[audio] => 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 Введена.
С версии 6.0.0 The $filesize value was added to the returned array.

Код wp_get_attachment_metadata() WP 6.4.3

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 the attachment meta data.
	 *
	 * @since 2.1.0
	 *
	 * @param array $data          Array of meta data for the given attachment.
	 * @param int   $attachment_id Attachment post ID.
	 */
	return apply_filters( 'wp_get_attachment_metadata', $data, $attachment_id );
}
9 комментариев
    Войти