Блог Андрія Огороднікова Хто з мечем до нас прийде, від меча й загине.

Как запретить в wordpress создавать 768х и srcset

08.04.2017, 03:34

wordpress мусорит

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

Таким образом вордпрессовцы пытались внедрить использование «адаптивных картинок», когда, в зависимости от разрешения девайса, пользователю подгружается не оригинал в высоком разрешении и размере, а подходящий уменьшенный вариант иллюстрации. Но. Извращение хорошей идеи — вот что получилось, а все потому, что оно как обычно в вордпрессе не настраивается из админки. Я даже написал об этом подробную заметку и принял решение эту функцию отключить, потому что я к созданию иллюстраций применяю оптимизационный подход.

Но проблема осталась, движок продолжал безостановочно генерировать «превью» в размере 768 по ширине, забивая пространство моего хостинга ненужными файлами.

Причем, если бралась для «уменьшения» картинка в png — то ее размер в кило- и даже мегабайтах мог в несколько раз превышать оригинал, тщательно мной подготовленный. Это был НОНСЕНС!

Насущные проблемы увели меня далеко от этого вопроса, я просто забил на это дело, смирившись с этими дополнительными мусорными файлами (мало ли всякого сора в окружающем пространстве?). Но теперь, обновив основу велосипедного блога и плотно занимаясь обновлением данного, я решил прижучить эту гидру до конца.

Изучение вопроса привело меня к тотальному решению проблемы. Итак, если вы достаточно опытный пользователь вордпресса и не боитесь редактировать файлы тем, нужно дописать в functions.php несколько строк:

1) Отключает саму функцию.

<?php
add_filter( 'max_srcset_image_width', create_function( '', 'return 1;' ) );
?>

2) Отключает генерацию картинок 768.

<?php
function wph_remove_768_image($sizes){
    unset($sizes['medium_large']);
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'wph_remove_768_image');
?>

Итогом стало то, что теперь при загрузке картинки в uploads появляются строго два файла: оригинал и миниатюра 150х150, служащая для идентификации иллюстрации в админке. Ура!

P.S. На блоге Total’ом удалил 224 (двести двадцать четыре) 768х файла — 25 мегабайт!