Come rimuovere le dimensioni hardcoded delle immagini thumbnail?
Come posso rimuovere gli attributi width e height dal post_thumbnail quando viene inserito 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" />

Correlato: Filtro per rimuovere gli attributi di dimensione dell'immagine?
Esiste un filtro su post_thumbnail_html
che riceve come argomento l'intero elemento html che rappresenta l'anteprima del post prima che venga visualizzata nella pagina. Puoi rimuovere le dimensioni con un po' di regex:
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;
}

Non funziona per me. 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 ) {
// Rimuove gli attributi width e height dalle immagini
$html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
return $html;
}
Questo codice farà il lavoro, "the_content" rimuoverà tutti gli attributi width e height dalle immagini nel contenuto del post.

Preferisco questa soluzione qui sotto poiché non sto effettuando una sostituzione globale con una funzione. Questo verrebbe incorporato nei file del tuo tema.
<?php echo preg_replace( '/(width|height)="\d*"/', '', get_the_post_thumbnail( get_the_ID(), 'large' ) ); ?>
Puoi sostituire "large" con "thumbnail", "medium", "full" o con la tua dimensione personalizzata di immagine dichiarata nel tema.
