Автоматически использовать измененные изображения вместо оригиналов в формате Wordpress? - PullRequest
1 голос
/ 20 мая 2011

Я бы оценил вашу помощь. Я использовал настраиваемое поле в Wordpress и создал форму для загрузки изображения в пост. Все отлично работает Я также разместил этот код, чтобы заменить исходное изображение (если кто-то разместил изображение огромного размера), которое автоматически изменяет его размер. Фактически он изменяет размер изображения, но не сохраняет соотношение сторон, что означает максимальную ширину 500 пикселей, максимальную высоту 800 пикселей. Он берет эти ценности и становится обрезанным до такого размера. Я хочу, чтобы высота была пропорциональной, а не обрезанной! это идет к functions.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');

http://pastie.org/1928349

1 Ответ

1 голос
/ 20 мая 2011

Поправьте меня, если я ошибаюсь, но вы, кажется, переписываете функцию, которая уже существует в Wordpress - http://codex.wordpress.org/Function_Reference/add_image_size

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...