Posso definir uma imagem em destaque padrão para uma categoria?

10

Estou configurando um site com um tema que aproveita o recurso "imagem em destaque" do WordPress. Como meus usuários finais não são os mais técnicos do mundo, gostaria de configurar as coisas para que as categorias tivessem uma "imagem em destaque" padrão atribuída ao post. No caso de várias categorias atribuídas a uma postagem, ela simplesmente pegaria a primeira.

Existe um plugin existente ou uma maneira de codificar isso?

    
por Dillie-O 07.12.2010 / 23:33

5 respostas

13

No seu modelo, onde você tem a Imagem em Destaque exibida: <?php the_post_thumbnail( 'thumbnail' ); ?> , você pode condicionar se a Imagem em Destaque está configurada e, em seguida, usar como padrão o que quiser, se não estiver definida.

Uma maneira de fazer isso é colocar todas as imagens padrão em um diretório e nomeá-las para as categorias, por exemplo. news.jpg and reviews.jpg então, em vez de usar <?php the_post_thumbnail( 'thumbnail' ); ?> para exibir sua imagem em destaque, você usaria o seguinte:

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

Portanto, neste exemplo acima, se a postagem estiver na categoria de notícias e seu gravador não tiver definido a Imagem em destaque, o padrão será a imagem armazenada em http://www.yoursite/whatever/directory/news.jpg .

    
por matt 08.12.2010 / 00:01
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;?>
    
por Nitin 25.06.2012 / 12:52
2

Eu tive alguns problemas com nomes de categorias com espaços que alteraram o código acima um pouco para atender às minhas necessidades

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

basicamente apenas mude

echo $category[0]->cat_name;

para

echo $category[0]->cat_ID;

que fará sua imagem 16.jpg ou 3.jpg, o que corresponder ao seu número de categoria.

    
por brass 13.07.2012 / 18:40
2

Uma maneira mais limpa de fazer o que foi dito acima;)

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;
    
por lemonfresh design 13.07.2011 / 13:42
1

Eu usei com sucesso Taxonomy Images por Michael Fields - ele adiciona funções de gerenciamento à categoria / taxonomia editar a página, para que as imagens em destaque funcionem para taxonomias, assim como as postagens / páginas. Tem todas as funções que você precisa para o seu tema.

    
por ptim 02.10.2012 / 01:53