Миниатюры записей

Если в теме блога включена поддержка миниатюр, на странице создания/редактирования записи появляется раздел "Миниатюра записи" (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, в том числе размеры миниатюр и папка для загрузки файлов, задаются на административной панели на странице "Настройки медиафайлов" (Параметры>Медиафайлы).

 
Опубликовано в рубрике Создание и изменение темы | с метками . |

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *