Получаем миниатюру записи WordPress и делаем с ней все, что хотим

При разработке очередной темы WordPress мне понадобилось оформить миниатюру записи на свой вкус. К сожалению, WordPress обрезал миниатюру и не желал ее выводить так, как хотелось мне. Копание в настройках темы и попытка задать вручную размеры медиа файлов в пункте (Параметры – Медиа файлы) не увенчалась успехом.
Коллега, смотря на мои мучения, сказал: «Да вытяни ты ее самостоятельно и делай что хочешь». И он оказался прав. Для начала я открыл файл function.php и создал функцию получения миниатюры.

1
2
3
4
5
6
7
function getthepostthumbnail () {
    $image_id = get_post_thumbnail_id();
    $image_url = wp_get_attachment_image_src($image_id);
    // данный код извлекает url картинки Вашей миниатюры WordPress
    $image_url = $image_url[0];
    echo '<img class="thimg" src="'.$image_url.'" />';
}
function getthepostthumbnail () {
	$image_id = get_post_thumbnail_id();
	$image_url = wp_get_attachment_image_src($image_id);
	// данный код извлекает url картинки Вашей миниатюры WordPress
	$image_url = $image_url[0];
	echo '<img class="thimg" src="'.$image_url.'" />';
}

Переменная image_url содержит адрес изображения миниатюры, и дальше я могу делать с ней все, что захочу. Например, обернуть в теги (строка 6). Теперь для работы с изображением я использую класс thimg.

1
echo '<img class="thimg" src="'.$image_url.'" />';
echo '<img class="thimg" src="'.$image_url.'" />';

Теперь данную функцию я могу вызывать где угодно с помощью кода:

1
<?php getthepostthumbnail(); ?>
<?php getthepostthumbnail(); ?>

Мне было необходимо добавить миниатюры в категории записей. Для стандартной темы (как и для многих других тем) Twenty ten это делается в файле Loop.php. Ориентиром может служить комментарий «How to display all other posts» который показывает, что начался блок вывода обычных записей. Код выглядит следующим образом.

1
2
3
4
5
6
7
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
            <h2 class="entry-title"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<div class="thumbcat"><?php getthepostthumbnail(); ?></div>
            <div class="entry-meta">
                <?php twentyten_posted_on(); ?>
            </div><!-- .entry-meta -->
</div></
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
			<h2 class="entry-title"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<div class="thumbcat"><?php getthepostthumbnail(); ?></div>
			<div class="entry-meta">
				<?php twentyten_posted_on(); ?>
			</div><!-- .entry-meta -->
</div></

Спасибо за внимание! Задавайте вопросы!

Запись опубликована в рубрике Wordpress, Блог, Дизайн, Разработка. Добавьте в закладки постоянную ссылку.

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code lang=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" extra="">