WordPress tiene la caracter铆stica de crear una imagen miniatura para cada post cuando se muestra en el home de la web o en las categor铆as. Pero que hacemos si no tenemos o se nos olvida. No tener miniatura que hace que la visualizaci贸n del home se descuadre, adem谩s de parecer poco profesional tener im谩genes rotas o 谩reas vac铆as en la p谩gina principal donde se supon铆a que deber铆a estar la imagen en peque帽o.
Hay plantillas de WordPress o Frameworks, como Genesis, que ya tiene la opci贸n incorporada de mostrar como miniatura (si no hay imagen destacada),聽 la primera imagen dentro de la publicaci贸n. En este art铆culo, mostrar茅 dos formas diferentes de agregar una imagen de respaldo predeterminada para los post de WordPress.
Primera, editar el archivo/s del tema en el que se muestran las miniatura de la publicaci贸n, esto puede ser (home.php, single.php, loop.php, index.php, archive.php, etc). A continuaci贸n, pegar el c贸digo siguiente dentro del bucle (loop).
<?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } else { ?> <img src="<?php bloginfo('template_directory'); ?>/images/default-image.jpg" alt="<?php the_title(); ?>" /> <?php } ?>
Explicaci贸n: El c贸digo comprueba si la publicaci贸n tiene una miniatura especificada y, si la hay, mostrar谩 la miniatura de la publicaci贸n. Si no se especifica ninguna miniatura de post, mostrar谩 la imagen ‘default-image.jpg’ en la carpeta de im谩genes del tema.
Este es el ejemplo b谩sico. Obviamente, se pude ampliar con tama帽os de miniaturas, clases y mucho m谩s.
Segunda, usar la primera imagen del post como miniatura. Para ello tienes que abrir el archivo functions.php del tema y a帽adir los siguientes c贸digos:
//function to call first uploaded image in functions file 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 src='$main' alt='$the_title' class='frame' />"; endif; }
A continuaci贸n, editar el archivo/s del tema en el que se muestra la miniatura del post de WordPress, esto puede ser (home.php, single.php, loop.php, index.php, archive.php, etc) y pegue el c贸digo siguiente:
<?php if ( (function_exists('has_post_thumbnail')) && (has_post_thumbnail()) ) { echo get_the_post_thumbnail($post->ID); } else { echo main_image(); } ?>
Explicaci贸n: Primero creamos una funci贸n que obtiene el primer adjunto de imagen para cada publicaci贸n. En el segunda parte del c贸digo, verificamos si la publicaci贸n tiene una miniatura. Si la miniatura existe, entonces mostramos la miniatura, y si no existe, entonces mostraremos el fallback.