Поскольку наши пользователи регулярно загружают ~ 6 МБ изображений для использования на веб-сайте (и не слишком знакомы с тем, как сначала изменить их размер), WordPress сохраняет оригиналы, а также изменяет их размеры до нескольких различных размеров.
Я хотел бы функцию или плагин, который берет загруженное изображение, изменяет его размер к чему-то более управляемому и затем заменяет оригинал.
Я видел некоторые функции, которые удаляют оригинал, но не заменяют его, а это означает, что невозможно восстановить эскизы позднее. Мне нужно, чтобы это было заменено, чтобы пользователь мог загрузить большое изображение, и оно автоматически уменьшается и сохраняется для последующего изменения размера при необходимости.
В приведенном выше решении есть одна неприятная ошибка. Решение работает как новая модель для новых изображений, но для старых изображений вы никогда не должны сравнивать,
$upload_dir['path']
потому что это текущая папка для загрузки текущего месяца.Заменить следующее:
источник
Могу ли я предложить обновление кода вышеуказанного ответа? К сожалению, в новых версиях Wordpress ключ «путь» больше не указывается для размеров файлов. Таким образом, чтобы он работал при более старых загрузках постов, мы должны сначала получить текущий subdir из исходного изображения и использовать его для определения пути расположения для большого изображения.
Поэтому замените эту строку:
этими двумя строчками:
источник
Я разместил это на другом очень похожем вопросе здесь, но думал, что это стоит перепостить.
У меня были проблемы с кодом выше, и то, что у меня получилось, по сути меняло эти строки:
с:
Я разместил свой полный код и дополнительные пояснения здесь: Удалить исходное изображение - сохранить миниатюру?
источник