Я бы оценил вашу помощь. Я использовал настраиваемое поле в 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