У меня есть 1000 изображений. Как я могу сделать WordPress для генерации большого пальца только при необходимости. Например, домашний слайдер будет использовать только 10 изображений, и я не хочу, чтобы на других 1000 изображениях этот миниатюра создавался как пустая трата пространства и ресурсов.
Есть способ запустить add_image_size только при необходимости?
Благодарность
ОБНОВЛЕНИЕ Как вы упоминаете, на самом деле add_image_size не то, что нужно для запуска. Что было бы здорово, так это запустить изменение размера изображения, когда я использую the_post_thumbnail ('slider-thumb'); Возможно, это замедление при первом просмотре изображения, но это представление обычно генерируется мной, когда я на самом деле просматриваю сообщение, поэтому мне все равно.
Итак, между моими постами, слайдером, блогами, миниатюрами портфолио и т. Д. У меня есть 1000 изображений, и я хочу, чтобы для слайдера было изменено только 10 изображений, я вижу много потраченных впустую ресурсов, чтобы сгенерировать размер миниатюр для других 990 изображений.
Надеюсь, теперь все ясно, извините за мой английский
Ответы:
Взгляните на плагин Otto's Dynamic Image Resizer
источник
Поместите это в файл функций вашей темы. Это остановит Wordpress от создания чего-либо, кроме 3-х размеров по умолчанию при загрузке.
Когда изображение запрашивается в определенном размере, который еще не создан, оно будет создано только один раз.
источник
К сожалению, ответ @ Patrick нарушает функции srcset, представленные в WP 4.4. К счастью, нам просто нужно добавить две дополнительные функции!
Во-первых, нам нужно временно повторно ввести все зарегистрированные размеры миниатюр в метаданные изображения, чтобы их можно было рассмотреть:
Затем нам нужно просмотреть матчи и сгенерировать недостающие миниатюры:
источник
На самом деле,
add_image_size()
не генерирует миниатюры, а просто регистрирует размер изображения, доступный для WordPress.Как правило, миниатюры создаются при первой загрузке изображения. Это автоматический процесс, поэтому вам не нужно беспокоиться о его генерации позже. Подумайте об этом так: если для создания миниатюры на медленном сервере требуется 1-2 секунды, и вы ждете, пока его не запросят, вы заставляете запрашивающего ждать еще 1-2 секунды на изображение, чтобы увидеть содержимое. Гораздо проще сделать это заранее - т.е. когда изображение загружено.
В то же время, если вам абсолютно необходимо обрабатывать эскизы в другое время, вы можете посмотреть на плагин Viper's Regenerate Thumbnails . Он использует действие по требованию для восстановления всех миниатюр изображений ... но вы можете использовать аналогичный код для создания миниатюр только при необходимости.
источник
Не совсем. Но вы можете отфильтровать список зарегистрированных размеров прямо перед созданием эскизов. Функция wp_generate_attachment_metadata () (которая вызывает функцию, генерирующую миниатюры) имеет фильтр с именем «промежуточный_размер_символов», который позволяет вам манипулировать массивом размеров непосредственно перед созданием файлов. Вы можете использовать этот фильтр всякий раз, когда вы добавляете изображение определенного «типа», а затем сразу же удаляете его.
Я полагаю, что вашей самой большой проблемой было бы выяснить, как отличить изображения, которым требуются дополнительные размеры, и изображения, которые не нуждаются.
источник
Вы можете использовать мой (не Ottos) плагин "Dynamic Image Resize" 1) .
Плагин поставляется с тегом шаблона и шорткодом .
1) Только что узнал о плагине Ottos. Имена столкновений не были предназначены.
источник
Вы можете попробовать этот плагин: https://wordpress.org/plugins/optimize-images-resizing
Размер изображения изменяется в зависимости от размера зарегистрированного изображения, но только при необходимости. Также можно очистить существующие размеры изображений, чтобы они могли регенерировать.
источник
Плагин WP Performance Pack предлагает «улучшенную обработку изображений», которая основана на Ottos Dynamic Image Resizer, но включает в себя множество улучшений, например: во-первых, он совместим с последней версией WordPress (3.9.1), использует WP_Image_Editor, сохранение миниатюр может отключить (но они могут быть кэшированы и включена поддержка CDN), интеграция регенерации Thumbails (для удаления существующих миниатюр) и некоторые другие.
источник
Вы также можете попробовать Aqua Resizer - https://github.com/syamilmj/Aqua-Resizer/
Это всего лишь один файл.
Вы можете использовать это так:
источник
Вот еще один подход: он подключается к обработке ошибок 404 HTTP. То есть, когда миниатюра недоступна, найдите исходное изображение и создайте миниатюру. Обратите внимание, что это на самом деле не решает вашу проблему, так как не предотвращает создание миниатюр во время загрузки.
Также обратите внимание, что этот плагин может использоваться злоумышленниками для создания любого количества миниатюр и, таким образом, для исчерпания дискового пространства.
Примечание: этот плагин может быть легко установлен с помощью Pluginception .
источник