Недавно один из наших пользователей спросил, можно ли установить миниатюру по-умолчанию для определенных рубрик в WordPress. В нашей предыдущей статье мы уже показывали, как задать миниатюру по-умолчанию в WordPress. В сегодняшней же статье мы покажем вам как задать миниатюру по-умолчанию для определенных рубрик в WordPress.
Примечание: Уровень этой статьи предполагает знание 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; ?>" />
Вот как это выглядит на нашем сайте для примера (на странице архива рубрики):
Выводим изображение рубрики в качестве изображения по-умолчанию
Теперь мы покажем вам как вывести изображение рубрики в качестве изображения по-умолчанию (миниатюрой), когда у записи нет заданной миниатюры.
Примечание: Пожалуйста, создайте резервную копию файлов вашей темы прежде, чем вносить какие-либо изменения.
Внутри цикла, в том месте, ваша тема выводит миниатюры записей, замените существующий код на этот:
<?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.
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.