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.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 1

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿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. ¡Ah! ¿te funciona? pues entonces no he dicho nada :)

Sobre el autor

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.

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba
Ir al contenido