Могу ли я установить изображение по умолчанию для категории?
-
16-10-2019 - |
Вопрос
Я настраиваю сайт с темой, которая использует преимущество функции «Избранное изображение» WordPress. Поскольку мои конечные пользователи не являются самыми техническими сабесами в мире, я хотел бы настроить вещи, чтобы у категорий было по умолчанию «изображение», назначенное на пост. В случае нескольких категорий, назначенных на пост, он просто займет первый.
Есть ли существующий плагин или способ кодировать это?
Решение
В вашем шаблоне, где отображается изображение: <?php the_post_thumbnail( 'thumbnail' ); ?>
Вы можете сделать это условным в том, установлено ли установленное изображение, а затем по умолчанию по умолчанию, если оно не установлено.
Один из способов сделать это - поместить все изображения по умолчанию в каталог и назвать их для категорий, например. news.jpg и обзоры. <?php the_post_thumbnail( 'thumbnail' ); ?>
Чтобы отобразить свое представленное изображение, вы бы использовали это:
<?php
if ( (function_exists('has_post_thumbnail')) && (has_post_thumbnail()) ) {
the_post_thumbnail('thumbnail');
} else { ?>
<img src="whatever/directory/<?php $category = get_the_category(); echo $category[0]->cat_name; ?>.jpg" /> <?php }
endif;
} ?>
Так что в этом примере выше, если пост находится в категории новостей, и ваш писатель не установил изображение, которое он по умолчанию будет по умолчанию, хранящемуся в http://www.yoursite/whatever/directory/news.jpg
.
Другие советы
<?php if ( (function_exists('has_post_thumbnail')) && (has_post_thumbnail())) : ?>
<?php the_post_thumbnail('thumbnail'); ?>
<?php else :?>
<img src="<?php bloginfo('template_directory'); ?>/your image directory name in theme folder/<?php $category = get_the_category(); echo $category[0]->cat_name; ?>.jpg" />
<?php endif;?>
Я столкнулся с некоторыми проблемами с именами категорий, имеющих пробелы, я немного изменил приведенный выше код, чтобы соответствовать моим потребностям
<?php if ( (function_exists('has_post_thumbnail')) && (has_post_thumbnail())) : ?>
<?php the_post_thumbnail('thumbnail'); ?>
<?php else :?>
<img src="whatever/directory/<?php $category = get_the_category(); echo $category[0]->cat_ID; ?>.jpg" />
<?php endif;?>
в основном просто изменить
echo $category[0]->cat_name;
к
echo $category[0]->cat_ID;
который сделает ваше изображение 16.jpg или 3.jpg все, что соответствует номеру вашей категории.
Более чистый способ сделать вышесказанное;)
if ( ( function_exists( 'has_post_thumbnail' ) ) && ( has_post_thumbnail() ) ) :
the_post_thumbnail( 'thumbnail' );
else :
?><img src="whatever/directory/<?php
$category = get_the_category(); echo $category[0]->cat_name;
?>.jpg" /><?php
endif;
Я успешно использовал Таксономические изображения Майкл Филдс - он добавляет функции управления к странице редактирования категории / таксономии, так что изображения работают для таксономий так же, как и с постами / страницами. Имеет все функции, которые вам нужны для вашей темы.