wp_get_attachment_image_sizes()
Отримує значення розмірів цієї картинки-вкладення для атрибута 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 .
(повільно) | 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
Приклади
#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
#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" >
нотатки
- Дивіться: wp_calculate_image_sizes()
список змін
З версії 4.4.0 | Введено. |
Код wp_get_attachment_image_sizes() 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 ); }