Comment supprimez-vous les dimensions de l'image miniature codée en dur?

12

Comment puis-je supprimer les attributs width et height du post_thumbnail lors de l'insertion avec <?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" />
    
posée Carson 07.07.2011 - 16:50

3 réponses

25

En relation: Filtrer pour supprimer les attributs de dimension d'image?

Il existe un filtre sur post_thumbnail_html qui reçoit comme argument l’élément html complet représentant la vignette de la publication avant son renvoi à la page. Vous pouvez filtrer les dimensions avec un peu de 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;
}
    
réponse donnée goldenapples 02.08.2011 - 01:23
2

vous pouvez simplement saisir l’url du pouce et le placer vous-même dans une balise img:

<?php
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'your_thumb_handle' );
?>
<img src="<?php echo $thumbnail['0']; ?>" />
    
réponse donnée Milo 07.07.2011 - 17:01
0
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;
}

cela fera le travail, "the_contnet" supprimera toute la largeur et la hauteur de l'image de texte de contenu de publication.

    
réponse donnée Duke Yin 23.08.2018 - 16:33

Lire d'autres questions sur les étiquettes