При загрузки изображений в WordPress могут генерироваться дополнительные размеры изображений. С целью уменьшить расход дискового пространства на хостинге, а также привести размеры к требуемым, разберемся откуда берутся лишние размеры.
1. Размеры изображений в настройках
По умолчанию размеры устанавливаются в административной панели WordPress. Настройка размеров находится в пункте меню: Настройки -> Медиафайлы.
Однако их изменение не всегда приводит к нужному результату. Так происходит из-за того, что создатели тем на WordPress, не редко регистрируют в них свои дополнительные размеры, которые никак не связаны с этой настройкой.
2. Размеры изображений из-за add_image_size
И если у вас регистрируются дополнительные размеры, то это можно исправить, заглянув в файл functions.php своей темы. Там будут строчки похожие на эти:
add_image_size( 'blog-large', 800, 600 );
Закомментировав или удалив эти строчки, дополнительные размеры миниатюру больше не будут создаваться. Однако учтите, что такие размеры часто вносят в блог не просто так.
Новые размеры могут применяться в файлах шаблона WordPress для вывода конкретных размеров изображений в миниатюрах на главной или в записи. Это может выглядеть так:
$featured = 'blog-medium';
И если такое есть в шаблоне, то удалив эти строчки может выйти, что в миниатюрах будут грузится полные версии изображений.
Например, вместо 400 на 300 (которому соответсвует add_image_size -> blog-medium) будет грузится полная версия изображений (допустим с разрешением 1600 на 1600). А это скажется как на скорости загрузки изображений, так и на дополнительной нагрузке сайта.
3. Размеры изображений по умолчанию WordPress
Некоторые размеры изображений WordPress генерирует автоматически. Например размер 768 пикселей.
4. Размеры изображений из-за isset ( $content_width)
Как-то в одном из шаблонов WordPress столкнулся с тем, что несмотря на изменения в add_image_size один лишний размер всё-таки создавался. Пришлось углубиться в документацию WordPress, где я нашел такой параметр как «Content Width #»:
$content_width = 800;
Этот параметр тоже может находиться в файле functions.php. Он существует для ограничения размера всего, что есть на сайте. Это необходимо чтобы какой-нибудь элемент случайно не разрушил страницу. И потому ничто не должно быть больше этого размера.
Например, с параметром $content_width = 750 и настройками медиафайлов WordPress (пункт 1) где указан размер больше 750 пикселей, будет создаваться дополнительный размер, который окажется равен или меньше этой цифре.
Вот как это выглядело. У меня были выставлены размеры:
маленький — 150 на 150
средний — 800 на 600
большой — 1200 на 900
С настройкой $content_width = 750; изображения создавались таким образом:
Видим, что размер для формата «Большой» создаётся максимум в пределах 750 пикселей. Это выглядит абсурдно, потому что «средний» размер больше «большого».
Так что либо убираем эту настройку в файле functions.php либо увеличиваем её размер.
5. Размеры миниатюр из-за плагинов
Некоторые установленные плагины на сайте создают свои размеры для миниатюр.
Например, плагин Featured Image Admin Thumb создаёт миниатюру на 60 пикселей по горизонтали.
Эта настройка находится в файле:
И выглядит так:
Подводя итоги
Как можно увидеть, лишние размеры миниатюр на WordPress генерируются отовсюду. Перестарались одним словом.
Спасибо! Вы здорово помогли мне! Час разбирался и что-то там поменял, что-то тут и все встало на свои места!