我可以为类别设置默认的特色图片吗?


10

我正在设置一个主题为主题的网站,该主题可以利用WordPress的“功能图像”功能。由于我的最终用户不是世界上最熟练的技术人员,因此我想进行设置,以便为类别分配一个默认的“特色图片”。如果为一个帖子分配了多个类别,则只需采用第一个类别即可。

是否有现有的插件或一种编码方式?



2年后,有一个WordPress插件可以做到这一点。检出“类别的精选图片” wordpress.org/plugins/featured-images-for-categories

使用此插件:wordpress.org/extend/plugins/categories-images它也适用于类别和任何自定义分类法,您可以在该文档中找到有关该插件的更多信息,使用方法和大量示例
Muhammad

Answers:


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

因此,在上述示例中,如果帖子位于新闻类别中,而您的作者未设置“特色图片”,则默认设置为的图片http://www.yoursite/whatever/directory/news.jpg


这也是我的做法。+1
2011年

如果一个帖子属于几个类别会怎样?
Eray

好问题。 get_the_category()只会返回一个类别,而我忘记了它如何决定要使用哪个类别。
马特

1
get_the category()将所有类别作为数组获取,但是您需要一个小技巧。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与您的类别编号相对应。


我认为许多人更喜欢使用cat id,因为它更安全,并允许您更改类别标签或子弹头。
达米安

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

我已经成功地使用了Michael Fields的分类法图像 -它向类别/分类法编辑页面添加了管理功能,从而使特色图像可用于分类法,就像处理帖子/页面一样。具有主题所需的所有功能。

自定义分类管理屏幕的快照

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.