the_post_thumbnail() - Проблемы с отображением пользовательских размеров

27 июл. 2011 г., 14:07:56
Просмотры: 16.5K
Голосов: 1

Я пытаюсь отображать широкие иконки изображений с помощью функции the_post_thumbnail(). Я использую значение 'true' для кадрирования, но изображения обрезаются некорректно... Получаются странные результаты с разными размерами (я пытаюсь использовать 200 по ширине и 150 по высоте). Если изображение не может быть отображено с правильными пропорциями (не понимаю почему, ведь я указываю кадрирование?), то я хочу, чтобы оно всегда имело точную высоту 150px! Как этого добиться? Я пробовал использовать set_post_thumbnail_size(), но результат еще хуже...

0
Все ответы на вопрос 1
3

Если ключевым параметром является высота, у вас есть несколько вариантов:

Жесткое обрезание до точной ширины/высоты:

<?php
add_image_size( 'wide-image-icon', 200, 150, true );
?>

Жесткое обрезание создаст миниатюру с точными указанными размерами. Убедитесь, что все изображения имеют ширину/высоту не меньше указанных значений.

Или мягкое обрезание (т.е. "масштабирование с ограничениями") с фиксацией по высоте:

<?php
add_image_size( 'wide-image-icon', 9999, 150, false );
?>

Мягкое обрезание с неограниченным параметром (например, ширина 9999) выполнит масштабирование до точной высоты, позволяя ширине быть практически любой. Убедитесь, что все изображения имеют высоту не меньше указанного значения.

Также: если вы добавили эти функции add_image_size() после загрузки/прикрепления некоторых изображений, обязательно перегенерируйте миниатюры.

27 июл. 2011 г. 15:00:10
Комментарии

не знал, что существует допустимое значение soft. Разве этот аргумент не булевый?

Sisir Sisir
5 окт. 2012 г. 11:56:10

@sisir это была опечатка. Исправлено. :)

Chip Bennett Chip Bennett
5 окт. 2012 г. 22:01:42

+1 за упоминание regenerate your thumbnails.

Floris Floris
6 сент. 2018 г. 12:36:01