Quando migramos um site de um cliente para um novo layout, temos o problema de que muitas das imagens inseridas dentro do post, no content, ainda ficarão com o mesmo formato do tema antigo.

Para resolver esse problema, não basta diminuir a exibição da imagem com CSS, pois isso faria o site continuar pesado.

A solução é criar um novo formato de imagem no functions.php, mandar o WP gerar todas as imagens novamente e então colocar no functions.php esse filter.

[php]
include(‘simple_html_dom.php’); // Download em http://simplehtmldom.sourceforge.net/

add_filter( ‘the_content’, ‘ajustarTamanhoImagem’ );
function ajustarTamanhoImagem($content){
if($content != ""){
$content = str_get_html($content);
foreach($content->find(‘img[src]’) as $imageMano)
{
$image_id = pippin_get_image_id($imageMano->src);
$image_thumb = wp_get_attachment_image_src($image_id, ‘large’);
$imageMano->src = $image_thumb[0];
}
}
return $content;
}
function pippin_get_image_id($image_url) {
global $wpdb;
$prefix = $wpdb->prefix;
$attachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM " . $prefix . "posts" . " WHERE guid=’%s’;", $image_url ));
return $attachment[0];
}
[/php]

About The Author

Deixe uma resposta