Как задать размер загружаемому изображению оригиналу?

Ссылка скопирована
1 ответ

Здравствуйте, подскажите. Я загружаю оригинальное изображение, оно размера 3000px на 2003px,
вопрос: как мне сразу при загрузке обрезать это изображение до нужного мне размера? допустим я хочу что бы оригинал сразу обрезался до 1180px. Все изображения которые нарезает WordPress я удаляю вот так.

function disable_default_image_sizes( $sizes) {   unset( $sizes['thumbnail']);         unset( $sizes['medium']);            unset( $sizes['medium_large']);     unset( $sizes['large']);             unset( $sizes['1536x1536']);   unset( $sizes['2048x2048']);    return $sizes; } add_filter('intermediate_image_sizes_advanced', 'disable_default_image_sizes');

function disable_default_image_sizes( $sizes) { unset( $sizes['thumbnail']); unset( $sizes['medium']); unset( $sizes['medium_large']); unset( $sizes['large']); unset( $sizes['1536x1536']); unset( $sizes['2048x2048']); return $sizes; } add_filter('intermediate_image_sizes_advanced', 'disable_default_image_sizes');

потом я регистрирую какие мне надо размеры,
проблема: при вставке изображения через редактор Gutenberg, он вставляет оригинальное изображение 3000px, даже если у меня есть add_image_size('custom-large', 1000, 1000, false); он все равно в коде прописывает изображению оригинальные размеры width="3000" и height="1709".

https://g1t.ru/video/chrome_RoTKzC3qcw.mp4

Дополнительно:

Кажется нашел решение, кому будет интересно, https://wp-kama.ru/id_12989/suffiks-scaled-u-karti... на wp-kama

Ответы:

Вот тут все разложено по полочкам, рекомендую,
https://perishablepress.com/disable-wordpress-gene...

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Никита Орлов Ответ

Если нужно уменьшать оригинал изображения сразу при загрузке в WordPress, не удаляйте размеры вручную после факта. Используйте стандартный механизм ограничения больших изображений. В WordPress есть фильтр big_image_size_threshold, который автоматически создаёт “уменьшенный оригинал” для слишком больших картинок.

Например, ограничить большую сторону до 1180 px:

add_filter('big_image_size_threshold', function () {
    return 1180;
});

add_filter('big_image_size_threshold', function () { return 1180; });

После этого при загрузке изображения 3000x2003 WordPress создаст уменьшенную версию и будет считать её основным файлом. Но точное кадрирование зависит от пропорций: если нужно именно обрезать, а не пропорционально уменьшить, используйте размер изображения.

Добавить свой размер:

add_action('after_setup_theme', function () {
    add_image_size('custom-original-like', 1180, 787, true);
});

add_action('after_setup_theme', function () { add_image_size('custom-original-like', 1180, 787, true); });

Параметр true означает жёсткую обрезку. Если нужна только ширина 1180 без crop:

add_image_size('custom-width-1180', 1180, 0, false);

add_image_size('custom-width-1180', 1180, 0, false);

Удалять все размеры WordPress не всегда правильно. Тема, WooCommerce, srcset и адаптивные изображения используют разные размеры, чтобы не грузить огромный файл на мобильных. Если оставить только один размер, можно ухудшить PageSpeed.

Если задача — экономия места, можно отключить лишние размеры темы, но оставить thumbnail/medium/large и нужные размеры карточек. Для уже загруженных файлов потребуется регенерация миниатюр.

Итог: для ограничения оригинала используйте big_image_size_threshold. Для конкретного размера вывода используйте add_image_size(). Полностью удалять все нарезки стоит только после понимания, где они используются.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно