web-dev-qa-db-fra.com

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

Comment puis-je supprimer les attributs width et height de la miniature de publication 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" />
15
Carson

Connexes: Filtre pour supprimer les attributs de dimension d'image?

Il existe un filtre sur post_thumbnail_html qui reçoit en argument l'argument HTML complet représentant l'image de la vignette du message 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;
}
25
goldenapples

vous pouvez simplement saisir l'URL du pouce et le mettre dans une balise img vous-même:

<?php
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'your_thumb_handle' );
?>
<img src="<?php echo $thumbnail['0']; ?>" />
3
Milo
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 post.

0
Duke Yin