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?
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.