En las plantillas o temas actuales de WordPress se muestra en portada, en páginas de categorías, de etiquetas y de búsqueda, una imagen, habitualmente un thumbnail, que sirve para complementar el resumen o extracto del artículo. Esta imagen tiene que estar especificada cuando se creó o editó el post.
WordPress ofrece la posibilidad de añadir una imagen destacada en todos los artículos. En la parte derecha del panel de creación, Añadir nueva entrada, aparece esta opción: Establecer imagen destacada, en la parte superior.
Lo normal es que todos los que utilizamos el CMS indiquemos a que imagen le dotamos este atributo, pero los que tenemos un sitio web desde hace algunos años nos encontramos, con relativa frecuencia, que en los artículos antiguos no aparece marcada esta opción. ¿Qué podemos hacer para qué cada artículo tenga su imagen destacada?
Utilizar un plugin
El método más sencillo consiste en recurrir a un plugin. Aunque hay más de uno, recomiendo que se utilice Default featured image. Su instalación y configuración es muy sencilla, sólo hay que seguir los pasos indicados en el artículo referenciado en el anterior enlace, los que se muestran en el apartado Instalación y configuración.
Subir una imagen y añadir una porción de código
Después de crear una imagen destinada a ser la que se considere como imagen destacada por defecto, habrá que subirla al servidor desde Medios -> Añadir nuevo. Si a dicha imagen le damos el nombre imagen-destacada.jpg, habrá que añadir la siguiente porción de código al archivo functions.php del tema instalado. (Lo mejor es hacerlo al archivo creado en el tema hijo (child), si es que está habilitado):
<?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } else { ?> <img src="<?php bloginfo('template_directory'); ?>/images/imagen-destacada.jpg" alt="<?php the_title(); ?>" /> <?php } ?>
Utilizar la primera imagen añadida al artículo
Es muy raro escribir artículos que no lleven insertada alguna imagen. Si se diese el caso de que existen artículos que no tienen ninguna, habrá que optar por una de las dos opciones explicadas anteriormente, pero si hay al menos una en todos los artículos, podemos insertar el código que mostramos a continuación en el archivo functions.php:
//Función para insertar la primera imagen de un artículo como imagen destacada function main_image() { $files = get_children('post_parent='.get_the_ID().'&post_type=attachment &post_mime_type=image&order=desc'); if($files) : $keys = array_reverse(array_keys($files)); $j=0; $num = $keys[$j]; $image=wp_get_attachment_image($num, 'large', true); $imagepieces = explode('"', $image); $imagepath = $imagepieces[1]; $main=wp_get_attachment_url($num); $template=get_template_directory(); $the_title=get_the_title(); print "<img class="frame" src="$main" alt="$the_title" />"; endif; }
Conclusión
Con cualquiera de los tres métodos anteriores es posible configurar una imagen destacada por defecto. Lo más sencillo, para la mayoría de los usuarios, es recurrir al plugin. Aunque lo normal es que los códigos indicados en los otros apartados sean válidos para la mayoría de los temas, en algunos casos habrá que hacer pequeños cambios en los mismos con el fin de adaptarlos a las características de cada tema.