Estou trabalhando em um site com base em um modelo CSS de largura fluida que define uma largura máxima nas imagens para a largura da coluna que as contém, e preciso remover os atributos de dimensão de largura e altura embutidos que o WordPress adiciona às imagens.
Estou fazendo isso com minhas imagens em destaque com este filtro:
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;
}
Sei que posso aplicar o mesmo filtro ao conteúdo , se necessário. Mas existe uma maneira melhor de fazer isso?
images
filters
post-thumbnails
maçãs douradas
fonte
fonte
img_caption_shortcode
, que processa o código de acesso da legenda, exige que uma largura seja especificada nos atributos do código de acesso da legenda. Caso contrário, ele pula a legenda e retorna o conteúdo dentro das[caption]
tags shortcode.img_caption_shortcode
. Escrever o código para uma função como essa é mais do que posso incluir nos comentários aqui.img_caption_shortcode
será suficiente para resolver o problema.Respostas:
Obrigado a todos!
O filtro image_send_to_editor era o que eu estava procurando ... obrigado @ t31os por apontá-lo.
Aqui estão minhas funções agora.
Isso remove os atributos de dimensão embutida das imagens recuperadas
the_post_thumbnail()
e impede que esses atributos sejam adicionados às novas imagens adicionadas ao editor. Não os remove das imagens recuperadas por meio dewp_get_attachment_image
outras funções relacionadas (sem ganchos), mas esses casos podem ser processados nos arquivos de modelos quando necessário.fonte
image_send_to_editor
e, em vez disso, adicioná-lo athe_content
- como este post do blog . Isso separa a lógica da apresentação do conteúdo.Modificado este script um pouco. Obrigado pela ajuda!
fonte
se você definir o tamanho da imagem em function.php como uma "galeria"
você pode remover a largura e a altura do tamanho específico da imagem, como "galeria":
fonte
A aplicação desse filtro
the_content
será acionada para todo o conteúdo. Isso será eficaz, mas poderá afetar o desempenho e o tempo de carregamento do seu site. Seria melhor se você dissesse ao WordPress para não inserir as tags de largura e altura embutidas ao inserir imagens em primeiro lugar.Infelizmente, os scripts que realmente inserem a imagem são construídos em JavaScript e interagem com o editor TinyMCE wysiwyg. Pode haver uma maneira de conectar-se diretamente, mas não usando as
add_filter()
chamadas padrão .fonte
image_send_to_editor
funcionaria aqui?