¿Puedo establecer una imagen destacada predeterminada para una categoría?


10

Estoy configurando un sitio con un tema que aprovecha la función de "imagen destacada" de WordPress. Dado que mis usuarios finales no son los más expertos en tecnología del mundo, me gustaría configurar las cosas para que las categorías tengan una "imagen destacada" predeterminada asignada a la publicación. En el caso de múltiples categorías asignadas a una publicación, simplemente tomaría la primera.

¿Existe un complemento o una forma de codificar esto?



2 años después, hay un complemento de WordPress que hace esto. Verifique "Imágenes destacadas para las categorías" wordpress.org/plugins/featured-images-for-categories

Use este complemento: wordpress.org/extend/plugins/categories-images Funciona para categorías y cualquier taxonomía personalizada también, puede encontrar más información sobre el complemento, cómo usarlo y muchos ejemplos en las documentaciones
Muhammad

Respuestas:


13

En la plantilla en la que se muestra la Imagen destacada: <?php the_post_thumbnail( 'thumbnail' ); ?>puede condicionarla a si la Imagen destacada está configurada y, a continuación, tenerla predeterminada para lo que desee si no está configurada.

Una forma de hacerlo es colocar todas las imágenes predeterminadas en un directorio y nombrarlas para las categorías, por ejemplo. news.jpg y reviews.jpg luego, en lugar de usar <?php the_post_thumbnail( 'thumbnail' ); ?>para mostrar su imagen destacada, usaría esto:

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

Entonces, en este ejemplo anterior, si la publicación está en la categoría de noticias y su escritor no configuró la Imagen destacada, la imagen almacenada será predeterminada http://www.yoursite/whatever/directory/news.jpg.


Así es como lo hago yo también. +1
epaps

¿Qué pasa si una publicación pertenece a unas pocas categorías?
Eray

Buena pregunta. get_the_category()solo devolverá una categoría y olvido cómo decide qué categoría usar.
mate

1
get_the category () está obteniendo todas las categorías como una matriz, pero necesita un pequeño truco. 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

Me encontré con algunos problemas con los nombres de categorías que tenían espacios. Modifiqué un poco el código anterior para satisfacer mis necesidades.

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

básicamente solo cambia

echo $category[0]->cat_name;

a

echo $category[0]->cat_ID;

lo que hará que su imagen sea 16.jpg o 3.jpg lo que corresponda con su número de categoría.


Creo que muchas personas prefieren usar id de gato, ya que es más seguro y le permite cambiar la etiqueta de categoría o babosa.
Damien

2

Una forma más limpia de hacer lo anterior;)

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

Utilicé con éxito las imágenes de taxonomía de Michael Fields: agrega funciones de administración a la página de edición de categoría / taxonomía, de modo que las imágenes destacadas funcionan para taxonomías tal como lo hacen con publicaciones / páginas. Tiene todas las funciones que necesita para su tema.

complemento de la pantalla de administración de taxonomía personalizada

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.