1. Как задать миниатюру.
  2. Как задать размер миниатюры.
  3. Как задать произвольный размер миниатюры.


С начало нужно подключить шаблон в functions.php

add_theme_support('post-thumbnails');
if ( function_exists('add_theme_support') ) {
    add_theme_support('post-thumbnails');
}

Затем в нужном нам месте в цикле добавляем вывод самой миниатюры

<?php
if ( has_post_thumbnail() ) {
	the_post_thumbnail();
}
else {
	echo '<img src="/images/thumbnail-default.jpg" />';
}
?>

Тут представлен код в виде — если есть миниатюра, то показываем ее, если миниатюра не вставлена, показываем стандартно заданную картинку, что бы место не пустовало.


Так же мы можем задать размер миниатюры.

<?php
  the_post_thumbnail('thumbnail');
  the_post_thumbnail('medium');
  the_post_thumbnail('large');
  the_post_thumbnail('full');
?>
  • thumbnail — картинка размером 150х150.
  • medium — картинка размером 300х300.
  • large — картинка размером 1024х1024.
  • full — полный размер картинки.

Все размеры можно изменить в адним. панели — Настройки -> Медиафайлы. После изменения размера картинки нужно будет загрузить заново в админ. панель, что бы они обрезались по новому.


Так же мы можем задать произвольный размер миниатюры.

Например когда нужно в разных местах разный размер одной и той же миниатюры.

В function.php уже выше коде добавляем строки —

add_theme_support('post-thumbnails');
if ( function_exists('add_theme_support') ) {
    add_theme_support('post-thumbnails');
    add_image_size( 'category-thumb', 300 );
    add_image_size( 'homepage-thumb', 220, 180 );
    add_image_size( 'single-thumb', 150, 150, true );
}

В 4, 5, 6 строке мы видим название — category-thumb, homepage-thumb, single-thumb. Они могут быть произвольные, что бы не запутаться.

В 4 строке после запятой идет просто 300, это ширина картинки по которой WordPress будет уменьшать ее, высота же будет на 100%.
В 5 строке после запятой идет 220 ширина и 180 высота. При этом картинка может искажаться из за разницы оригинальной картинки и вывода под другим размером.
В 6 строке после запятой идет 150 ширина и 150 высота и true. true обозначает, что картинка будет обрезать под заданный размер и искажаться картинка не будет.

После заполнения function.php выводить миниатюры нужно через название.

<?php
  the_post_thumbnail('category-thumb');
  the_post_thumbnail('homepage-thumb');
  the_post_thumbnail('single-thumb');
?>