Mostrar todos los tamaños de imagen disponibles

Si eres aficionado a la fotografía seguramente uses el servicio de Flickr, donde puedes cargar fácilmente tus fotos y que otras personas las visualicen en modo de presentación o por tamaño de imagen. También, es posible, que uses WordPress para mostrar tus mejores fotos en un blog o portfolio personal, que siempre posiciona mejor en los buscadores.

Si este es tu caso seguramente echarás en falta algunas funcionalidades de Flickr en WordPress, y una de las más obvias es poder mostrar al visitante todos los tamaños disponibles de la imagen.

Como ya sabrás, y sino lo recordamos, cuando subes una imagen a WordPress este almacena varias versiones de la misma. El objeto de este es ofrecerte varios tamaños a insertar en tus entradas, y que no tengas que redimensionar por HTML, reduciendo así la carga de página. Por supuesto, siempre puedes enlazar un tamaño menor al tamaño completo de imagen, u otro, desde el cargador de imágenes de WordPress.

Luego, esto se muestra en la página de adjuntos, normalmente gestionada por los temas WordPress mediante un fichero habitualmente llamado attachment.php o image.php. Lo que pasa es que, generalmente, solo se mostrará la imagen enlazada, sin darte más opciones. Vamos a solucionarlo …

Lo primero que tienes que hacer es abrir el fichero functions.php y añadir lo siguiente:

function enlaces_imagenes() {

	/*Si no estamos en una página de adjuntos volvemos. */
	if ( !wp_attachment_is_image( get_the_ID() ) )
		return;

	/* Establece un array vacío para los enlaces links. */
	$links = array();

	/* Obtenemos los tamaños intermedios de imágenes y añadimos el tamaño máximo al array. */
	$sizes = get_intermediate_image_sizes();
	$sizes[] = 'full';

	/* Hacemos el loop por cada tamaño de imagen. */
	foreach ( $sizes as $size ) {

		/* Obtenemos el origen, ancho, atura y tamaño de la imagen intermedia. */
		$image = wp_get_attachment_image_src( get_the_ID(), $size );

		/* Añade el enlace al array si hay una imagen y si el array $is_intermediate (4º valor del array) es true o si es el tamaño completo. */
		if ( !empty( $image ) && ( true == $image[3] || 'full' == $size ) )
			$links[] = "<span class="removed_link" title="{$image&#91;0&#93;}">{$image[1]} &times; {$image[2]}</span>";
	}

	/* Unimos los enlaces en una cadena y volvemos. */
	return join( ' <span class="sep">/</span> ', $links );
}

Guardamos los cambios y ahora, en el fichero attachment.php o image.php del tema ponemos lo siguiente en el loop, sustituyendo el correspondiente, normalmente justo después de la llamada al título del adjunto:

<?php if ( wp_attachment_is_image( get_the_ID() ) ) { ?>
	<div class="image-meta">
		<?php printf( __( 'Otros tamaños: %s', 'example-textdomain' ), enlaces_imagenes() ); ?>
	</div>
<?php } ?>

Guardamos y ya está, ahora cuando alguien haga clic en un adjunto tendrá la posibilidad de visualizar todos los tamaños de la imagen.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(1 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

5 comentarios en “Mostrar todos los tamaños de imagen disponibles”

  1. Fernando, perdón por ponerlo aquí, si quieres lo borras.
    ¿Sería posible flexibilizar pelín-sólo un pelín- las respuestas del foro en castellano de wp.com?…
    No se ayuda a nadie que tenga un blog en otro sitio aunque corra bajo wordpress o la respuesta sirva en la práctica para lo que preguntan. Mira que me gusta wp.com pero a veces me rechina esto enormemente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido