Как сделать автоматическое маштабирование изображений при загрузке?

Есть wordpress сайт, на который контент-менеджеры загружают изображения для использования в своих статьях. Зачастую, они грузят фото напрямую с фотокамеры разрешением, типа 5000х5000 и весом в несколько МБ, что в конкретном случае не нужно и жрёт место на хостинге.

Желание - автоматически масштабировать оригинал загружаемых изображений до, к примеру, 1200px по максимальной стороне. Про использование на фронте соответствующих размеров я в курсе, конечно, но нужно обрезать именно оригинал (а уже из обрезанного оригинала создавать миниатюры).

У кого-нибудь есть идеи по реализации данного функционала?

ВАЖНО - суть проблемы в том, что оригиналы отъедают место на хостинге. Пользоваться add_image_size() я умею, и на фронт вывожу то, что нужно. Но что делать с оригиналами?
  • Вопрос задан
  • 85 просмотров
Пригласить эксперта
Ответы на вопрос 2
TTATPuOT
@TTATPuOT
https://code.patriotovsky.ru/
В WordPress уже всё придумали за вас: add_image_size().
Смысл в том, что вам нужно в своей теме зарегистрировать необходимые размеры изображений. И все новые изображения сразу будут обрезаться в указанных размерах. Далее, где это необходимо вы сразу сможете без труда получать нужные размеры по их названию, которое указали при регистрации.

Важно понимать, что это работает только на новых картинках. Если вы хотите создать миниатюры для новых изображений - нужно использовать WP CLI или соответствующий плагин (подобных плагинов масса).

А для оптимизации оригиналов на этапе загрузки можно использовать какой-нибудь плагин: https://wordpress.org/plugins/resize-image-after-u...
Ответ написан
Le_Traceur_Snork
@Le_Traceur_Snork
PHP-программист | Wordpress
Коробочная функция ядра Wordpress add_image_size() делает именно это

Подробнее у WPшников: https://developer.wordpress.org/reference/function...

upd1. Если нужно на русском - искать по запросу
WP Kama add_image_size

upd2. Проблема только в том, что оригинал она всё равно будет хранить
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы