wp_get_attachment_image_sizes() WP 4.4.0

Отримує значення розмірів цієї картинки-вкладення для атрибута sizes .

Використовується у зв’язку з функцією: wp_get_attachment_image_srcset()

Про HTML атрибут sizes

Атрибут sizes – це заміна атрибутам width та height . Він встановлює ширину картинки та умова при якому має бути виставлена ​​ця ширина. Наприклад:

<img
	srcset="image_1400.jpg 1400w, image_700.jpg 700w, image_400.jpg 400w"
	sizes="(min-width: 700px) 600px, (min-width: 1200px) 80vw, 100vw"
>

означає:

  • при ширині екрана більше 700px – ширина картинки буде 600px;
  • при ширині екрана більше 1200px – ширина картинки буде 80vw (80% від ширини екрана);
  • В інших випадках (ширині екрана менше 700px) – ширина картинки 100vw (100% від ширини екрану);

Докладніше про scrset і sizes .

1 раз – 0.000911 сек
(повільно) | 50000 разів – 30 сек
(повільно)

Хуків немає.

Повертає

Строку|false. Значення розмірів призначене для використання в атрибуті ‘sizes’. Наприклад: (max-width: 709px) 85vw, (max-width: 909px) 67vw.

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

wp_get_attachment_image_sizes($attachment_id, $size, $image_meta);
$attachment_id
(число) (обов’язковий)
ID зображення вкладення значення атрибута
sizesдля якого потрібно отримати.
$size
(масив/рядок)

Назва розміру зображення.
Може приймати будь-який зареєстрований розмір або масив: array(100,150), де 100 – ширина, а 150 – висота в пікселях.

Значення передається у функцію wp_get_attachment_image_src() ще опис дивіться там.
За замовчуванням: ‘medium’

$image_meta
(масив)

Метадані картинки, у форматі який повертається функцією: wp_get_attachment_metadata() .

Або можна отримати метадані вкладення так:get_post_meta( $attachment_id, '_wp_attachment_metadata', true );

Типово: null

Приклади

0

#1 Просто отримаємо розміри картинки для атрибутів sizes

echo wp_get_attachment_image_sizes( 10, 'full' );
// виведе:
// (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px
0

#2 Використання в IMG тезі

<img
	src="<?php echo wp_get_attachment_image_url( $attachment_id, 'full' ) ?>"
	srcset="<?php echo wp_get_attachment_image_srcset( $attachment_id, 'full' ) ?>"
	sizes="<?php echo wp_get_attachment_image_sizes( $attachment_id, 'full' ) ?>"
>

Отримаємо:

<img
	src="http://example.com/wp-content/uploads/2015/12/image.png"
	srcset="http://example.com/wp-content/uploads/2015/12/image-240x300.png 240w, http://example.com/wp-content/uploads/2015/12/image.png 700w "
	sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px"
>

нотатки

список змін

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

Код wp_get_attachment_image_sizes() WP 6.0.2

function wp_get_attachment_image_sizes( $attachment_id, $size = 'medium', $image_meta = null ) {
	$ image = wp_get_attachment_image_src ($ attachment_id, $ size);

	if ( ! $image ) {
		return false;
	}

	if ( ! is_array( $image_meta ) ) {
		$image_meta = wp_get_attachment_metadata( $attachment_id );
	}

	$image_src = $image[0];
	$size_array = array(
		absint( $image[1] ),
		absint( $image[2] ),
	);

	return wp_calculate_image_sizes( $size_array, $image_src, $image_meta, $attachment_id );
}

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

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