¿Cómo eliminar las dimensiones codificadas de las imágenes en miniatura?
¿Cómo puedo eliminar los atributos width y height de la imagen en miniatura (post_thumbnail) cuando se inserta con <?php the_post_thumbnail(); ?>
?
<img width="800" height="533" src="http://domain.com/wp-content/uploads/2011/02/image.jpg" class="attachment-post-thumbnail wp-post-image" />

Relacionado: ¿Filtro para eliminar los atributos de dimensiones de las imágenes?
Existe un filtro en post_thumbnail_html
que recibe como argumento el elemento HTML completo que representa la imagen destacada del post antes de que se muestre en la página. Puedes eliminar las dimensiones con un poco de expresiones regulares:
add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3 );
function remove_thumbnail_dimensions( $html, $post_id, $post_image_id ) {
$html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
return $html;
}

No funciona para mí. add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3 );
function remove_thumbnail_dimensions( $html, $post_id, $post_image_id ) {
if ( wp_is_mobile() ) {
$html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
}
return $html;
}

add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10 );
add_filter( 'image_send_to_editor', 'remove_thumbnail_dimensions', 10 );
add_filter( 'the_content', 'remove_thumbnail_dimensions', 10 );
function remove_thumbnail_dimensions( $html ) {
$html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
return $html;
}
Esto hará el trabajo, "the_content" eliminará los atributos de ancho y alto de todas las imágenes en el contenido del post.

Prefiero esta solución a continuación ya que no estoy haciendo un reemplazo global con una función. Esto se incorporaría en los archivos de tu tema.
<?php echo preg_replace( '/(width|height)="\d*"/', '', get_the_post_thumbnail( get_the_ID(), 'large' ) ); ?>
Puedes reemplazar "large" con "thumbnail", "medium", "full", o con tu tamaño de imagen personalizado declarado en tu tema.
