Como você remove as dimensões das imagens em miniatura codificadas?

12

Como posso remover os atributos de largura e altura da post_thumbnail ao inserir com <?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" />
    
por Carson 07.07.2011 / 16:50

3 respostas

25

Relacionados: Filtrar para remover os atributos da dimensão da imagem?

Há um filtro em post_thumbnail_html que recebe como argumento o elemento html completo que representa a imagem da miniatura da postagem antes de ser exibida na página. Você pode filtrar as dimensões com um pouco 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;
}
    
por goldenapples 02.08.2011 / 01:23
2

você pode simplesmente pegar o URL do polegar e colocá-lo em uma tag img você mesmo:

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

isso fará o trabalho, "the_contnet" removerá toda a largura e altura da imagem do texto do conteúdo.

    
por Duke Yin 23.08.2018 / 16:33