get_the_post_thumbnail_url с незарегистрированным размером
В официальной документации функции 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.

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 );
}
