Чи можна встановити зображене зображення за замовчуванням для категорії?


10

Я налаштовую сайт із темою, яка використовує перевагу функції «Популярний образ» WordPress. Оскільки мої кінцеві користувачі не є найвищою технологією у світі, я хотів би налаштувати такі речі, щоб категорії мали за замовчуванням "зображене зображення", призначене публікації. У разі наявності декількох категорій, присвоєних посаді, тоді вона просто займе першу.

Чи існує плагін чи спосіб кодувати це?



Через 2 роки є плагін WordPress, який робить це. Оформити замовлення "Пропоновані зображення для категорій" wordpress.org/plugins/featured-images-for-categories

Використовуйте цей плагін: wordpress.org/extend/plugins/categories-images Він працює і для категорій, і для будь-якої спеціальної таксономії, ви можете дізнатися більше про плагін, про те, як ним користуватися та багато прикладів у документаціях
Muhammad

Відповіді:


13

У вашому шаблоні, де відображається Вибране зображення: <?php the_post_thumbnail( 'thumbnail' ); ?>ви можете встановити його залежно від того, встановлено Вибране зображення, а потім встановити його за замовчуванням для того, що ви хочете, якщо воно не встановлено.

Один із способів зробити це - помістити всі зображення за замовчуванням у каталог і назвати їх для категорій, наприклад. news.jpg та reviews.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;
} ?>

Отже, у цьому прикладі вище, якщо публікація належить до категорії новин, а ваш автор не встановив Featured Image, воно буде за замовчуванням для зображення, збереженого в http://www.yoursite/whatever/directory/news.jpg.


Це я і роблю. +1
серія

що сталося, якщо публікація належить до кількох категорій?
Eray

Хороше питання. get_the_category()поверне лише одну категорію, і я забуваю, як вона вирішує, яку категорію використовувати.
мат

1
get_the category () отримує всі категорії як масив, але вам потрібна хитрість liitle. studiograsshopper.ch/code-snippets/…
Eray

2
<?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;?>

2

У мене виникли проблеми з іменами категорій, що мають пробіли, я трохи змінив вищевказаний код, щоб відповідати моїм потребам

<?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, що відповідає номеру вашої категорії.


Я думаю, що багато хто вважає за краще використовувати ідентифікатор котів, оскільки це безпечніше і дозволяє змінити етикетку категорії або кулі.
Демієн

2

Чистіший спосіб зробити вищезазначене;)

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;

1

Я успішно використовував зображення таксономії Майкла Філдса - він додає функції управління на сторінку редагування категорій / таксономії, так що представлені зображення працюють для таксономій так само, як і з публікаціями / сторінками. Має всі функції, необхідні для тематизації.

оснащення екрана адміністратора користувацької систематики

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.