add_image_size()

Опис

Реєструє новий розмір картинки (мініатюру). Зазвичай використовується щоб зменшити вагу сторінки при оптимізації сайту, коли користувачу показується мініатюра потрібного розміру замість оригіналу картинки, розмір якої може бути в кілька разів більшим

add_image_size( string $name, int $width, int $height, bool|array $crop = false )

Parameters

  • $name: (string) Required
    Ідентифікує розмір картинки
  • $width: (string) Optional
    Ширина картинки в пікселях
  • $height: () Optional
    Висота картинки в пікселях
  • $crop: (bool | array) Optional
    Визначає як обрізати картинку. Якщо False Картинка буде пропорційно зменшена. Якщо true, то картинка буде обрізана до заданих розмірів і відцентрована. Якщо масив, то картинка буде обрізана буде використовувати масив для визначення зони обрізки
    • : (string)
      Optional Позиція обрізки по вісі X. Може бути 'left''center', or 'right'.
    • : (string)
      Optional Позиція обрізки по вісі 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' );
Disclaimer: Наразі шаблон сторінки трошки поламаний, скоро пофікшу. І давай будемо на "ти". Якщо ти дочитав до цього моменту і не знайшов те, що шукав в описі саме цієї функції - напиши мені в телеграм @codelibry щоб я це додав, а також скинь лінк того що саме ти шукав, якщо знайшов на іншому ресурсі. Дякую :)