Как задать миниатюру по-умолчанию для определенных рубрик в WordPress

Недавно один из наших пользователей спросил, можно ли установить миниатюру по-умолчанию для определенных рубрик в WordPress. В нашей предыдущей статье мы уже показывали, как задать миниатюру по-умолчанию в WordPress. В сегодняшней же статье мы покажем вам как задать миниатюру по-умолчанию для определенных рубрик в WordPress.

category-fallback-thumbnails[1]

Примечание: Уровень этой статьи предполагает знание HTML, CSS, а также основы структуры тем WordPress.

Пример:

Давайте предположим, что у вас есть блог, где вы назначаете одну рубрику каждой из ваших записей. Вы можете задать изображение по-умолчанию в зависимости от той рубрики, которой принадлежит запись.

Также это может оказаться полезным, когда вы часто сталкиваетесь с ситуацией, когда трудно подобрать миниатюру для записи. Ваш логотип может не вписываться в тематику записи, однако же если вы зададите соответствующее рубрике изображение, то запись будет выглядеть релевантно.

Устанавливаем изображения для рубрик в WordPress без плагина

Ранее мы уже показывали, как задавать изображения для рубрик в WordPress. Однако, для этой статьи вам необходимо будет устанавливать изображение вручуню, без плагина.

Первым делом вам необходимо создать изображения для ваших рубрик. Используйте slug рубрики в качестве имени изображения и сохраняйте их все в одном формате, например jpg и png.

Теперь проблема заключается в том, что ваша тема WordPress может использовать различные размеры изображений в различных шаблонах. Например, у вас могут быть маленькие миниатюры на страницах архивов и большие — в записях блога. Мы позволим WordPress обрабатывать и изменять размер картинок. Для этого вам необходимо загрузить картинки для ваших рубрик на ваш сайт WordPress из Медиафайлы » Добавить новый. Во время загрузки WordPress сохранит изображения рубрик и создаст размеры, указанные вашей темой, а также заданные на странице Настройки » Медиафайлы.

После загрузки изображений для рубрик, их необходимо поместить в другую папку. Подключитесь к своему сайту с помощью FTP клиента типа Filezilla и перейдите в папку /wp-content/uploads/. Изображения для рубрик, которые вы загрузили, будут расположены в папке, соответствующей месяцу. Например /uploads/2014/10/.

Создайте папку на вашем компьютере и назовите ее category-images. Теперь скачайте все изображения рубрик и сгенерерированные для них миниатюры в эту новую папку на ваш компьютер. После окончания загрущки, вам необходимо загрузить папку category-images в вашу директорию /wp-content/uploads на сервере. Это позволит вам расположить все ваши изображения рубрик в отдельной папке, к которой будет легко обращаться из шаблонов темы.

Выводим изображения рубрик в шаблонах WordPress

Прежде, чем мы начнем указывать эти изображения в качестве миниатюр по-умолчанию, давайте взглянем на то, как они будут выводится в вашей теме. Например, вы можете вывести эти изображения вверху страниц ваших рубрик.

<?php
if ( is_category() )

$thiscat = get_category(get_query_var('cat'),false);

?>

<img class="category-thumb" src="<?php echo bloginfo('url'); ?>/wp-content/uploads/category-images/<?php echo $thiscat->slug ; ?>-50x50.jpg" alt="<?php echo $thiscat->name; ?>" />

Вот как это выглядит на нашем сайте для примера (на странице архива рубрики):
category-icon[1]

Выводим изображение рубрики в качестве изображения по-умолчанию

Теперь мы покажем вам как вывести изображение рубрики в качестве изображения по-умолчанию (миниатюрой), когда у записи нет заданной миниатюры.

Примечание: Пожалуйста, создайте резервную копию файлов вашей темы прежде, чем вносить какие-либо изменения.

Внутри цикла, в том месте, ваша тема выводит миниатюры записей, замените существующий код на этот:

<?php if ( has_post_thumbnail() ) : ?>

<div class="entry-thumbnail">
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
</div>

<?php else :
$category = get_the_category();
?>
<div class="entry-thumbnail">
<a href="<?php the_permalink(); ?>"><img src="<?php bloginfo('url'); ?>/wp-content/uploads/category-images/<?php echo $category[0]->category_nicename ; ?>-150x150.jpg" alt="<?php the_title(); ?>" /></a>
</div>

<?php endif; ?>

Этот код ищет миниатюру записи. Если он находит ее, то выводит на сайте. Иначе же, он будет искать рубрику, к которой принадлежит запись, а затем выводит соответствующее изображение. Мы добавили -150?150 к имени файла, потому как это размер миниатюры записи на нашем тестовом сайте. Ваша тема может использовать другой размер для миниатюр, поэтому это значение будет нужно изменить.

Пожалуйста, обратите внимание, что в вашей теме уже может быть строка <?php if ( has_post_thumbnail() ) : ?> и следующие несколько строк после нее, которые выводят изображения. Если такие строки присутствуют в теме, то в коде их можно пропустить.

Вот и все, мы надеемся, что эта статья помогла вам задать миниатюру по-умолчанию для определенных рубрик в WordPress.

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

VN:F [1.9.22_1171]
Rating: 3.7/5 (6 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top