Реєструє новий розмір картинки (мініатюру). Зазвичай використовується щоб зменшити вагу сторінки при оптимізації сайту, коли користувачу показується мініатюра потрібного розміру замість оригіналу картинки, розмір якої може бути в кілька разів більшим
add_image_size( string $name, int $width, int $height, bool|array $crop = false )
$name
:
(string)
Required
$width
:
(string)
Optional
$height
:
()
Optional
$crop
:
(bool | array)
Optional
False
Картинка буде пропорційно зменшена. Якщо true
, то картинка буде обрізана до заданих розмірів і відцентрована. Якщо масив, то картинка буде обрізана буде використовувати масив для визначення зони обрізки
:
(string)
X
. Може бути 'left'
'center'
, or 'right'.
:
(string)
Y
. Може бути 'left'
'center'
, or 'right'.
Існують вже зареєстровані розміри картинок, які розпізнає WordPress:
'thumb', 'thumbnail', 'medium', 'medium_large', 'large', 'post-thumbnail'
// З WordPress 5.3 додано 2 нові мініатюри
'1536×1536', '2048×2048' - це і назва і розміри відповідно
Детальніше про це можна почитати за посиланням image_downsize().
Коли ви реєструєте мініатюру і у вас уже є зображення в медіа бібліотеці, то старі зображення автоматично не матимуть нових розмірів. Для цього їх потрібно створити і найлегше зробити це за допомогою плагіну. Коли завантажуєте нові зображення – то мініатюри створюються в процесі завантаження
Якщо використати ‘false’ setting, то нова мініатюра не згенерується, якщо один із розмірів зображення співпадає із бажаним розміром мініатюри.
Якщо зареєстрований розмір картинок прибрати із functions.php або підключених в нього файлів, а потім вибрати якусь картинку із Медіа Бібліотеки після цього, то розміри мініатюр, які ви реєстрували не будуть видалені автоматично. Тільки розміри які все ще знаходяться в functions.php або підключених в нього файлів будуть видалені.
Хоча висота та ширина не є обов’язковими параметрами, їхні значення за замовчуванням (0) призведуть до небажаної поведінки, тому краще їх все-таки задавати.
add_image_size( 'custom-size', 220, 180 ); // 220px ширина на 180px висота, soft proportional crop mode
add_image_size( 'custom-size', 220, 180, true ); // 220px ширина на 180px висота, обрізка. Частина оригінального зображення буде втрачена
add_image_size( 'custom-size', 220, 220, array( 'left', 'top' ) ); // буде видно тільки те що в оригіналі зліва згори 220px на 220px
// Для обкладинок (Featured Images)
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'your-custom-size' );
}
// Допускаємо, що у нас є картинка з ID = 42
echo wp_get_attachment_image( 42, 'your-custom-size' );