get_the_post_thumbnail_url с незарегистрированным размером

16 сент. 2017 г., 19:24:57
Просмотры: 13.6K
Голосов: 5

В официальной документации функции get_the_post_thumbnail_url указано:

$size (string|array) (Необязательно) Зарегистрированный размер изображения для получения источника или плоский массив с высотой и шириной.

(выделено мной).

Я использую следующие параметры:

$img_url = get_the_post_thumbnail_url(get_the_ID(), array('300' , '170'));

Но функция не возвращает изображение нужного мне размера.

Зарегистрированные размеры изображений: 150 x 150, 300 x 300 и 1024 x 1024.

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

WordPress не создает миниатюры на лету. Если вы попытаетесь получить размер, которого не существует, будет возвращено либо ближайшее доступное изображение, либо изображение в полном размере.

Ближайшее решение, которое вы можете попробовать, — это получить размер больше нужного, а затем уменьшить его с помощью CSS и обрезать.

Допустим, зарегистрированные размеры — это 50 x 150, 300 x 300 и 1024 x 1024, но вам нужно изображение размером 300x177. Получите изображение 300x300, а затем обрежьте его с помощью CSS:

#my-div img {
    position: absolute;
    clip: rect( 0px, 300px, 177px, 0px );
}
16 сент. 2017 г. 20:28:27