Если в теме блога включена поддержка миниатюр, на странице создания/редактирования записи появляется раздел "Миниатюра записи" (Post thumbnail) (или для страниц "Миниатюра страницы " (Page thumbnail)), и можно загрузить или выбрать изображение, которое будет визуально представлять данную запись. Рассмотрим, как добавить поддержку миниатюр.
Функция add_theme_support
Эта функция (находится в wp-includes/theme.php) регистрирует поддержку заданной функциональности. Она вызывается в файле темы functions.php.
<?php add_theme_support( $feature ); ?>
Обязательный параметр $feature (string) - это 'post-thumbnails' (с 2.9) или 'automatic-feed-links' (с 3.0) или 'post-formats' (с 3.1).
Миниатюры записей
В WordPress версии 2.9. появилась возможность добавления миниатюр записей, для использования которой до хука init, т.е. в файле темы functions.php или в функции, прикрепленной к хуку after_setup_theme, должна быть строка
add_theme_support( 'post-thumbnails' ); // или только для записей <?php add_theme_support( 'post-thumbnails', array( 'post' ) ); ?> // или только для страниц <?php add_theme_support( 'post-thumbnails', array( 'page' ) ); ?>
Показ миниатюры
В файле темы index.php или single.php или в пользовательском шаблоне страницы внутри цикла, например, перед выводим содержимого the_content()
if (has_post_thumbnail()) { the_post_thumbnail(); } <?php the_content(); ?>
Функция the_post_thumbnail()
<?php the_post_thumbnail( $size, $attr ); ?>
Необязательные параметры:
$size - (string/array) 'thumbnail' (по умолчанию, размер миниатюры задается в теме set_post_thumbnail_size( $width, $height, $crop_flag ); ), 'medium', 'large', 'full' или размеры можно задать с помощью массива:
the_post_thumbnail( array(100,100) );
$attr
(array) по умолчанию используется массив
$default_attr = array( 'src' => $src, 'class' => "attachment-$size", 'alt' => trim(strip_tags( $attachment->post_excerpt )), 'title' => trim(strip_tags( $attachment->post_title )), );
Другие полезные функции
В файле темы functions.php или в файле плагина:
// Получение ID миниатюры $image_id = get_post_thumbnail_id(); // Получение изображения миниатюры $image = get_the_post_thumbnail( $post->ID, 'thumbnail' ); // Изменение размеров add_filter( 'post_thumbnail_size', 'my_post_image_size' ); function my_post_image_size( $size ) { $size = 'medium'; return $size; } // Ссылка на запись add_filter( 'post_thumbnail_html', 'my_post_image_html', 10, 3 ); function my_post_image_html( $html, $post_id, $post_image_id ) { $html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_post_field( 'post_title', $post_id ) ) . '">' . $html . '</a>'; return $html; }
Размеры миниатюр
По умолчанию миниатюры имеют размеры 150 на 150. Но при необходимости их легко изменить.
Параметры изображений в WordPress, в том числе размеры миниатюр и папка для загрузки файлов, задаются на административной панели на странице "Настройки медиафайлов" (Параметры>Медиафайлы).