Si queremos crear un índice o unos archivos donde se haga un uso extensivo de imágenes (al lado de los extractos, por ejemplo), siempre puede ser interesante hacerlo sin depender de plugins.

Hoy vamos a proponeros un código que lo hará posible, y que deberemos pegar en functions.php.

Se nos permitirá entonces disponer de un nuevo ‘template tag’, que podremos usar dentro de nuestros Loops, con el que imprimir la imagen en cuestión.

El código es el siguiente :

function catch_that_image() {
	global $post, $posts;
	$first_img = '';
	ob_start();
	ob_end_clean();
	$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
	$first_img = $matches [1] [0];

	if(empty($first_img)){
	$first_img = "/images/default.jpg"; // default image
	}
return $first_img;
}

Recordemos que este código debe ir dentro de las declaraciones de apertura y cierre de php, que ya encontraremos en nuestro functions.php, o que habrá que añadir.

Nos dirigiremos ahora a nuestros archivos o índice, y usaremos el siguiente template tag, que equivaldrá a la primera imagen del post:

<?php echo catch_that_image(); ?>

Si lo quisiéramos linkando a la página final:

<a href="<?php the_permalink(); ?>"><?php echo catch_that_image(); ?></a>