Поддержка Проблемы и решения Отключить генерацию файлов с преьвю (ответ нетривиальный)

  • Друзья,

    Никак не могу справиться с отключением генерации картинок превью в уменьшенном размере.

    1. В настройке медиафайлов все стоит по нулям.
    2. В Functions.php добавлял

    function remove_plugin_image_sizes() {
    	remove_image_size('image-name');
    }
    add_action('after_setup_theme', 'remove_plugin_image_sizes', 999);

    Не выводит ничего.

    3. В Functions.php добавлял

    function get_image_sizes() {
    	 $unset_disabled = true;
    echo "zzz";
    	$wais = & $GLOBALS['_wp_additional_image_sizes'];
    
    	$sizes = array();
    
    	foreach ( get_intermediate_image_sizes() as $_size ) {
    		if ( in_array( $_size, array('thumbnail', 'medium', 'medium_large', 'large') ) ) {
    			$sizes[ $_size ] = array(
    				'width'  => get_option( "{$_size}_size_w" ),
    				'height' => get_option( "{$_size}_size_h" ),
    				'crop'   => (bool) get_option( "{$_size}_crop" ),
    			);
    		}
    		elseif ( isset( $wais[$_size] ) ) {
    			$sizes[ $_size ] = array(
    				'width'  => $wais[ $_size ]['width'],
    				'height' => $wais[ $_size ]['height'],
    				'crop'   => $wais[ $_size ]['crop'],
    			);
    		}
    
    		// size registered, but has 0 width and height
    		if( $unset_disabled && ($sizes[ $_size ]['width'] == 0) && ($sizes[ $_size ]['height'] == 0) )
    			unset( $sizes[ $_size ] );
    	}
    
    	return $sizes;
    }

    Не выводит ничего.

    Для каждой загружаемой картинки генерируется еще два файла:
    150х150 — ну это вроде как ОК, для связанных статей
    768х… — вот от этих хочется избавиться. Наверняка их генерирует какой-то плагин, но вот какой.

    Поиск по всем файлам выдает кучку результатов:
    А. Файлы с кешем и расширением php. В них есть прямая ссылка на 768x файлы. В настройках Super Cache ничего в отношении картинок нет.
    Б. В файле schema.php, по всей видимости это просто описание схемы.
    В. В папке плагина SimplePie. Я его не устанавливал, но судя по всему он генерирует RSS поток. Возможно, что это часть JetPack или же самого WrdPress.
    Г. В файлах index.html/index-mobile.html которые есть в десятке директорий. Видимо это какой-то кеш, но совсем непонятно какой и кто его генерит.

    Что делать непонятно. Буду рад мыслям 🙂

    • Тема изменена 7 лет, 8 месяцев назад пользователем kvv213.
Просмотр 15 ответов — с 1 по 15 (всего 31)
  • Ха. Ха. Ха. Ха.

    Оказалось, что генерит превью теперь сам вордпресс. Начиная с версии 4.4 в него встроена не выключаемая функция Responsive images, предназначенная для лучшего отображения иллюстраций на устройствах с различным DPI. Чем выше DPI, тем более крупную картинку подтянет браузер пользователя.
    Однако, нагенерированное занимает 40% от всего объема картинок 🙁

    Отключить можно как-то так:
    function disable_srcset( $sources ) {
    return false;
    }
    add_filter( ‘wp_calculate_image_srcset’, ‘disable_srcset’ );

    В functions.php
    Либо через плагин https://wordpress.org/plugins/disable-responsive-images/

    Изменить размер генерации по умолчанию https://developer.wordpress.org/reference/hooks/max_srcset_image_width/

    Генерирует 768x по умолчанию, что мне кажется излишне маловато.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Начиная с версии 4.4 в него встроена не выключаемая функция Responsive images

    Вполне себе выключаемая через указанные вами фильтры 🙂

    Спасибо, что поделились решением.

    Через интерфейс не выключаемое. Это и плохо. Решают за владельцев ресурса как им лучше.

    Через интерфейс не выключаемое. Это и плохо. Решают за владельцев ресурса как им лучше.

    это вообще главный принцип разработчиков wordpress — они решают, что пользователям надо и что не надо. решили, что кнопки подчеркивания и выравнивания по ширине не нужны — и удалили их к чертям.

    это код выше, кстати, никак не отключает генерацию картинок 768x — он только убирает srcset и все, а папка uploads продолжает замусориваться.

    все, разобрался.
    вот тут описал решение — http://www.wphook.ru/media/remove-srcset.html

    Я вот подумываю не насчет отключения, а на увеличение размера 768 до стандартного размера в моем блоге. По идее, мусора будет меньше (уменьшаться будут только большие картинки), а польза останется.

    Но тут возникает вопрос, что делать с уже нагенерированными картинками 🙂 Вордпресс нагененрирует новых или как?

    это вообще главный принцип разработчиков wordpress — они решают, что пользователям надо и что не надо. решили, что кнопки подчеркивания и выравнивания по ширине не нужны — и удалили их к чертям.

    А как же теперь выравнивать-то?

    Но тут возникает вопрос, что делать с уже нагенерированными картинками 🙂 Вордпресс нагененрирует новых или как?

    полагаю, что поможет Regenerate Thumbnails, но надо проверять.

    А как же теперь выравнивать-то?

    http://www.wphook.ru/editor/restore-undeline-justify.html

    Друзья, а что-то я не пойму. Как мне отключить генерацию 768 пиксельных изображений и оставить генерацию 1024 пиксельных изображений. Как-то в документации все мутно написано, аж не могу.

    я же выше ссылку дал на отключение генерации 768px картинок. а 1024 — этот размер по умолчанию у large картинок, если у вас не так, то зайдите в настройки\медиафайлы и поставьте такой.

    я же выше ссылку дал на отключение генерации 768px картинок. а 1024 — этот размер по умолчанию у large картинок, если у вас не так, то зайдите в настройки\медиафайлы и поставьте такой.

    Я бы не хотел бы отключать эту функцию совсем. Однако, хотелось бы генерировать автоматом картинки размером 1024, если загружается картинка большего размера.

    В настройках все стоит по нулям, чтобы не генерировалось…

    Совсем непонятно, что делать 🙂

    я вас не понимаю.
    если вам надо картинки размером 1024 — то просто поставьте такой размер в настройках и все.

    если вам надо картинки размером 1024 — то просто поставьте такой размер в настройках и все.

    Но в этом случае будет ли работать функция srcset ? Т.е. мне хотелось бы сохранить функционал Responsible images, но при этом генерировать картинки 1024 пикселей, только в случае если я загружаю картинки с разрешением свыше 1024….

    функция srcset

    О какой «функции» Вы постоянного говорите?
    srcset — это атрибут html-тега img.

    но при этом генерировать картинки 1024 пикселей, только в случае если я загружаю картинки с разрешением свыше 1024….

    Для этого есть настройки медиафайлов.

Просмотр 15 ответов — с 1 по 15 (всего 31)
  • Тема «Отключить генерацию файлов с преьвю (ответ нетривиальный)» закрыта для новых ответов.