Como você remove as dimensões da imagem em miniatura codificada?

15

Como posso remover os atributos de largura e altura do 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" />
Carson
fonte
procurar thumbnail.php arquivo, não tenho certeza, mas geralmente que os arquivos contêm o disco de codificação
Niraj Chauhan
Caso você esteja se perguntando, eu quero poder modificar larguras e altura com CSS - defina mais especificamente uma largura máxima e deixe a altura se definir em vez de usar como padrão a codificada.
Carson
usar o Firebug para obter a classe exata ou ID, ou dar-me o seu URL
Niraj Chauhan
2
Alterar qualquer coisa em um arquivo fora do tema (por exemplo, post-thumbnail-template.php) seria uma má idéia, pois qualquer atualização do WordPress o substituirá.
Carson
O que faz você pensar que precisa remover os atributos para fazer o que deseja?
T31os

Respostas:

25

Relacionado: Filtrar para remover atributos de dimensão da imagem?

Há um filtro no post_thumbnail_htmlqual recebe como argumento o elemento html completo que representa a imagem em miniatura da postagem antes de ecoar 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;
}
maçãs douradas
fonte
Isto não funciona para mim. add_filter ('post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3); função remove_thumbnail_dimensions ($ html, $ post_id, $ post_image_id) {if (wp_is_mobile ()) {$ html = preg_replace ('/ (largura | altura) = \ "\ d * \" \ s /', "", $ html ); } retornar $ html; }
dlopezgonzalez 11/09/14
5

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

<?php
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'your_thumb_handle' );
?>
<img src="<?php echo $thumbnail['0']; ?>" />
Milo
fonte
1
Essa é a única solução que me deparei também, só esperava que houvesse uma maneira de fazer isso sem uma solução alternativa.
Carson
Mas você também precisa de consulta para as alt e título atributos
MZAweb
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 da postagem.

Duke Yin
fonte
Por favor edite sua resposta , e adicionar uma explicação: por que isso poderia resolver o problema?
fuxia