Cómo servir diferentes imágenes según el tamaño de pantalla en WordPress
Estoy creando un sitio web WordPress responsivo con un enfoque mobile-first.
Cuando mi cliente sube una imagen para una entrada del blog, me gustaría que WordPress genere versiones más pequeñas de la imagen (¡con un tamaño de archivo más pequeño!) que luego se sirvan a pantallas más pequeñas.
Incluso si el usuario tiene que subir varias versiones de la imagen por sí mismo, esto seguiría siendo una buena solución.
Sé que existe una función llamada add_image_size, sin embargo, creo que esta solo cambia las dimensiones de la imagen, y no el tamaño real del archivo. Los diferentes tamaños de archivo son lo más importante aquí.
Entonces, ¿hay algún plugin o código que tenga que escribir para habilitar esto?
Espero recibir cualquier ayuda o consejo sobre esta pregunta.
Gracias

add_image_size
sí cambia el tamaño real del archivo de la imagen.
Lo que he intentado:
function odevice_image_sizes() {
add_image_size( 'iphone-size', 300, 100, true ); // Por supuesto, las dimensiones no son correctas...
add_image_size( 'tablet-size', 600, 300, true );
}
function show_odevice_at_img_select($sizes) {
$sizes['iphone-size'] = __( 'Tamaño de imagen para iPhone' );
$sizes['tablet-size'] = __( 'Tamaño de imagen para tablet' );
return $sizes;
}
add_action( 'init', 'odevice_image_sizes' );
add_filter('image_size_names_choose', 'show_odevice_at_img_select');
Cuando verifiques el tipo de dispositivo (iPhone o tablet), puedes usar las imágenes personalizadas así:
<?php the_post_thumbnail( 'iphone-size' ); ?>
No puedo enviarte una captura de pantalla ya que no tengo la reputación necesaria. Pero puedes ver en la carpeta de uploads que las imágenes subidas con tus dimensiones personalizadas tendrán un tamaño diferente (en el disco), por lo que consumirán un ancho de banda diferente. Cuanto más pequeñas sean las dimensiones, menor será el ancho de banda.

panos lo entendió correctamente. Puedes usar add_image_size para crear imágenes de diferentes tamaños para diferentes propósitos. Para continuar un poco más con tu pregunta, quiero agregar:
Una vez que hayas creado diferentes tamaños de imágenes con add_image_size, puedes servirlas para diferentes dispositivos usando el plugin de Wordpress Mobble (o cualquier otro reconocimiento de dispositivos basado en php) http://wordpress.org/plugins/mobble
Simplemente haz una declaración if else como esta:
if ( is_mobile() ) : the_post_thumbnail( 'mobile-size' );
elseif( is_tablet() ) : the_post_thumbnail( 'tablet-size' );
else : the_post_thumbnail( 'full' );
endif;

No, ya que los dispositivos más pequeños aún descargan una imagen grande. Mi preocupación aquí es el ancho de banda.

Si no quieres usar css. Solo conozco una solución, debes usar "add_image_size". Espero que puedas resolver tu problema.
