Как стать автором
Обновить

Создание миниатюр для блога и RSS в WP 2.9

Время на прочтение2 мин
Количество просмотров2.9K
Во всех обзорах WP 2.9 говориться о том, что в новой версии появилась возможность использовать миниатюры (thumbnails). В некоторых темах для более ранних версий активно использовался данный функционал. Например, Arthemia Free. Не так давно я переделал дизайн своего блога для использования миниатюр. Хочу поделиться своим опытом — показать, как в Вашу тему добавить миниатюры с помощью уже имеющегося функционала. Кстати, он годится в том числе и для отображения в RSS.

Добавление поддержки миниатюр в тему



Чтобы в редактировании статьи (под выбором рубрики) появился блок “Миниатюра записи”, нужно в файле function.php Вашей активной темы добавить следующий текст.
if ( function_exists( 'add_theme_support' ) ) add_theme_support( 'post-thumbnails' );


Для отображения миниатюры в Вашей теме нужно вставить:
the_post_thumbnail();

the_post_thumbnail()



К моему большому удивлению, я не обнаружил в кодексе описания данной функции. У нее два аргумента:

  • размер изображения (или в пикселях, или словами);
  • атрибуты картинки.


// миниатюра, слева
the_post_thumbnail('thumbnail', array('class' => 'alignleft'));
// средний, справа
the_post_thumbnail('medium', array('class' => 'alignright'));
// большой, по центру
the_post_thumbnail('large', array('class' => 'aligncenter'));
// справа и свой класс 'my_own_class'
the_post_thumbnail(array(400,345), array('class' => 'alignright my_own_class'));


* This source code was highlighted with Source Code Highlighter.


Таким не хитрым образом, можно налету масштабировать изображения, причем пропорции сохраняются. Типовые размеры в пикселях задаются в “Настройки/Медиафайлы”. Еще стоит отметить, что ни один из параметров не является обязательным.

Лично я сделал в своем блоге на главной странице “Миниатюра” + цитату статьи, в теле самой статьи “Средний размер”.
// В index.php
  <div class="thumbnail">
    <a href="<?php the_permalink() ?>"><?php the_post_thumbnail('thumbnail'); ?></a>
  </div>
  <?php the_excerpt(); ?>
// В single.php
  <div class="thumbnail">
    <?php the_post_thumbnail('medium'); ?>
  </div>
  <?php the_content('<p>Read the rest of this entry »</p>'); ?>


* This source code was highlighted with Source Code Highlighter.

Вставка миниатюры в RSS



Очевидно, что картинка в RSS ленте увеличивает шансы, что статью прочтут полностью. В файл function.php добавляем следующий код:
function insertThumbnailRSS($content) {
global $post;
if ( has_post_thumbnail( $post->ID ) ){
$add_thumbnail = "
<div style="
float: left; padding: 0 10px 5px 0;">".get_the_post_thumbnail( $post->ID, 'thumbnail' )."</div>
"
;
$content = $add_thumbnail . $content;

}
return $content;
add_filter('the_excerpt_rss', 'insertThumbnailRSS');
add_filter('the_content_feed', 'insertThumbnailRSS');
}


* This source code was highlighted with Source Code Highlighter.


Ну вот теперь на написание одной статьи Вы будете тратить минут на 5 больше. А как же иначе? Картинку-то для миниатюры надо найти, подготовить, залить.
Первоисточник.
Приятного блогинга!
Теги:
Хабы:
Всего голосов 14: ↑9 и ↓5+4
Комментарии7

Публикации

Истории

Работа

Ближайшие события

12 – 13 июля
Геймтон DatsDefense
Онлайн
19 сентября
CDI Conf 2024
Москва