Este script substituir o upload de imagem (se é mais grande que o maior tamanho definido nas configurações) gerada pelo WordPress para economizar espaço no seu servidor e economizar banda se você for vincular uma imagem em miniatura para a imagem original, ou quando um plugin lightbox é usado.
Basta colar o seguinte código em seu arquivo functions.php!
[sourcecode language=”php”]
function replace_uploaded_image($image_data) {
// if there is no large image : return
if (!isset($image_data[‘sizes’][‘large’])) return $image_data;
// paths to the uploaded image and the large image
$upload_dir = wp_upload_dir();
$uploaded_image_location = $upload_dir[‘basedir’] . ‘/’ .$image_data[‘file’];
$large_image_location = $upload_dir[‘path’] . ‘/’.$image_data[‘sizes’][‘large’][‘file’];
// delete the uploaded image
unlink($uploaded_image_location);
// rename the large image
rename($large_image_location,$uploaded_image_location);
// update image metadata and return them
$image_data[‘width’] = $image_data[‘sizes’][‘large’][‘width’];
$image_data[‘height’] = $image_data[‘sizes’][‘large’][‘height’];
unset($image_data[‘sizes’][‘large’]);
return $image_data;
}
add_filter(‘wp_generate_attachment_metadata’,’replace_uploaded_image’);
[/sourcecode]
Fonte: wprecipes
Que plugin é esse ?
hum legal
Brigadão cara! Ajudou muuito!!
vlws mesmo!
Não consegui o que queria dessa forma, porém pesquisei e consegui redimensionar as imagens no ato da postagem mudando o arquivo ‘/wp-admin/includes/image.php’ dessa forma:
add_filter(‘wp_generate_attachment_metadata’,’replace_uploaded_image1′);
function replace_uploaded_image1($file) {
if (!isset($image_data[‘sizes’][‘large’])) return $image_data;
$temp = explode(‘/’,$image_data[‘file’]);
if ( count($temp) == 3 ) $image_date = $temp[0].”/”.$temp[1];
$upload_dir = wp_upload_dir($image_date);
$uploaded_image_location = $upload_dir[‘basedir’] . ‘/’ .$image_data[‘file’];
$large_image_location = $upload_dir[‘path’] . ‘/’ .$image_data[‘sizes’][‘large’][‘file’];
unlink($uploaded_image_location);
rename($large_image_location,$uploaded_image_location);
$image_data[‘width’] = 1024;
$image_data[‘height’] = 768;
unset($image_data[‘sizes’][‘large’]);
return $image_data;
}
ou seja, qualquer imagem postada ele redimensionará 1024×768 proporcionalmente..
Abraços!