Я хотел бы знать, если есть простой способ (пользовательский код или плагин) для создания миниатюр размеров только для изображений, которые я намерен использовать в качестве рекомендуемых изображений (index.php, archive.php и т. Д.), Но не для изображений используется в сообщениях (single.php). Моя главная цель - уменьшить использование серверного пространства, не создавая миниатюры, которые моя тема никогда не будет использовать.
Мои миниатюры на самом деле имели бы только два размера, ширину 720px и ширину 328px, а популярные изображения шириной 720px (только для домашней страницы) также имели бы ширину 328px (для archive.php и sidebar.php)
В настоящее время единственный программный способ, который я знаю, - генерировать миниатюры для каждой загрузки изображений , что нежелательно, поскольку большинство моих загрузок будут размещать изображения, и мне придется вручную удалять большое количество изображений с сервера.
Я бы предпочел собственный код над плагинами, но плагин был бы приемлемым. Я знаю, что есть некоторые плагины для изменения размера изображения, но они давно не обновлялись (TimThumb, Dynamic Image Resizer ).
Я также нашел подобный вопрос здесь на Wordpress SE, но принятый ответ действительно не решает мою проблему.
РЕДАКТИРОВАТЬ: мне нужно удалить или предотвратить миниатюры для изображений внутри сообщения, а не для избранных изображений, то есть:
(1) Главное изображение : дополнительные эскизы, автоматически сгенерированные WP, в порядке.
(2) Изображения, используемые внутри постов : загрузите оригинальное изображение и не создавайте никаких дополнительных размеров. Я буду обрезать, изменять размер и оптимизировать изображение перед его загрузкой, и один размер будет соответствовать моим потребностям.
источник
_thumbnail_id
- которого должно быть достаточно на самом деле,save_post
и подобные ловушки могут быть подходящим способом. Но не забывайте, что эти изображения в вашем сообщении могут быть использованы в других сообщениях в качестве миниатюры, вы можете захотеть иметь механизм для учета этого.add_filter('intermediate_image_sizes_advanced', '__return_false')
а затем измените размер миниатюры на лету с GlideОтветы:
Эта функция будет генерировать изображение путем временной регистрации размера изображения, генерации изображения (при необходимости) и удаления размера, чтобы новые изображения не создавались с таким размером.
Это "ленивый", потому что изображения не генерируются, пока они не нужны.
В вашем случае вы бы назвали это
lazy_image_size
с идентификатором пиктограммы поста, чтобы получить изображение нужного размера. Изображение будет генерироваться при первом вызове. Последующие вызовы будут получать существующее изображение.Суть: https://gist.github.com/mtinsley/be503d90724be73cdda4
источник
Вы можете увидеть эту ссылку . там есть такой пример, как
источник
1. Перейдите на панель инструментов> Настройки> Мультимедиа
2. Снимите флажок Обрезать миниатюру до точных размеров (обычно эскизы пропорциональны)
3. Введите 0 для всех входных данных (0 для всех размеров)
4. Добавьте их в functions.php
5. Убедитесь, что в вашем файле functions.php нет строчки кода. Начните с
add_imge_size
Примечание: я полагаю, что вы используете размер 400x400 для миниатюры. Теперь, когда вы загружаете фотографию, она будет создавать только 2 версии, а не как минимум 4 версии фото. как и раньше.источник
Привет - у меня была похожая проблема. Woocommerce использует изображения каталогов для каталогов и связанных изображений продуктов. Это не идеально, потому что вы теряете ни качество изображения, ни скорость. Поэтому я попытался добавить четвертую категорию изображений для своих сопутствующих товаров. Хауди МакГи решил проблему. Пожалуйста, взгляните на ответ Howdy McGees:
Это сработало великолепно для моих нужд. Для вашей проблемы может быть применена та же логика. Надеюсь это поможет. С уважением - Тео
Я нашел решение, которое работает. 1. шаг: назначьте новый размер миниатюры в вашем functions.php. Проверьте ссылку: wp codex !
Примечание: «ваш большой палец», вы будете использовать это имя позже
шаг: Затем добавьте следующий код, где вы хотите отобразить ваши рекомендуемые продукты:
Ссылка и информация: не хватило репутации для третьей ссылки, извините (www.haloseeker.com/display-woocommerce-featured-products-without-a-shortcode/) Я поместил ее в index.php (моя домашняя страница) wootheme mystile , Не забудьте использовать «ваш большой палец» в строке:
шаг: восстановить эскизы, используйте плагин https://wordpress.org/plugins/regenerate-thumbnails/
обновить браузер и проверить дом и сравнить значения
В зависимости от вашей темы вы можете изменить разметку и имена классов. Я тестирую вышеупомянутый метод, и он работает хорошо. Единственное, что я пока не смог сделать, это добавить кнопку «добавить в корзину», потому что я не знаю, как записать переменную в шорткод кнопки «Добавить в корзину». Это код:
Надеюсь, это поможет. Существует, безусловно, более элегантный способ сделать это. Например, с функцией в functions.php
С уважением
источник
Чтобы WordPress не создавал дополнительные размеры только для определенных изображений, вам необходимо указать, что изображение, которое ВЫ НАДО загружать, будет использоваться только для определенных целей. это должно произойти, прежде чем вы загрузили его.
поскольку нет такого интерфейса (готового), чтобы указывать такие параметры во время действия загрузки, вы не можете предотвратить генерацию дополнительного изображения - если не было плагина, который добавил эту функцию.
но почему в мире вам не нужны дополнительные размеры изображений? Вы никогда не знаете, когда вы можете столкнуться с ситуацией, когда вы хотите использовать другой размер любого изображения. Вы обеспокоены местом для хранения?
Вы не можете использовать свои собственные конкретные размеры, как это?
the_post_thumbnail( array(100, 100) );
Большинство ответов и комментариев, которые я прочитал здесь, объясняют, как настроить среду WordPress для размеров изображений, но никто не упоминает об этом условно. кроме того, ни один из них не учитывает тот факт, что вы должны быть в состоянии указать использование изображения перед его загрузкой.
если вы пытаетесь компенсировать слишком маленькое или слишком большое изображение в сообщении, вы можете использовать несколько вещей.
CSS: вы можете добавлять записи в свою таблицу стилей, например
.post-entry img { max-width:200px; max-height:300px; }
, это более универсально и эффективно, чем полагаться на размер самого изображения - ЭТО МНОГО времени фотошопа.Шаблон: вы можете изменить файл шаблона, в котором генерируется вывод HTML, и указать размер изображения следующим образом:
см. эту документацию на WordPress: https://codex.wordpress.org/Function_Reference/the_post_thumbnail
источник