Я пытаюсь очистить свои папки загрузки, так как они начинают занимать слишком много места на моем сервере.
Я пытался использовать плагины для достижения этой цели, такие как DNUI и Cleanup Images, но эти плагины либо неработоспособны, либо в случае DNUI (который был недавно обновлен и работает) не достигают точных результатов, которые мне нужны. Это потому, что мой сайт использует Woocommerce и тему, которая использует изображения в других местах, а не только посты или страницы, такие как верхние и нижние колонтитулы и галереи. Похоже, что WC использует свой собственный встроенный плагин Lightbox под названием Pretty Photo, из которого вызываются изображения, которые детализированы как «неиспользуемые» DNUI.
Я знаю, что это что-то вроде вопроса, но мне интересно, кто-нибудь может указать мне правильное направление? Я не разработчик, поэтому, вероятно, даже не стоит публиковать здесь, но я могу решить все со временем и решимостью. На этом сайте я видел сценарии, которые достигают тех же результатов, что и плагин DNUI, но ничего, что не учитывает использование других изображений (если это вообще возможно?). Любая помощь приветствуется.
источник
Ответы:
Удаление изображений с помощью плагина:
Вы можете использовать этот плагин, он будет искать в вашей базе данных и смотреть, вставлено ли изображение в какой-либо пост (в содержании, в качестве избранного изображения, в любом настраиваемом поле, где угодно ...) или в качестве фона ...
Если изображение нигде не используется, вы сможете удалить его. Вы получите список всех изображений на вашем сайте, которые больше не используются, поэтому вы можете безопасно удалить их.
https://wordpress.org/plugins/dnui-delete-not-used-image-wordpress/
и это, все еще работа, даже она устарела
https://wordpress.org/plugins/wordpress-uploaded-files-cleaner/
Удаление изображений вручную:
Вы также можете искать в своей медиатеке изображения, которые не привязаны к сообщениям и страницам.
Зайдите в медиатеку и нажмите «неприкреплено», на ней будут отображаться все изображения, которые могут отображаться в других частях вашего сайта или не использоваться.
источник
Cron / Запланированные задачи и обход БД - ваш друг
Это должен быть плагин, вы могли бы назначить ему интервал wp_cron даже, не сильно отличаясь от предложенного выше, но с добавлением проверки любого подобного поля 'post_content' (вам нужно будет определить их, в зависимости от вашей среды WP) для URI / URL изображения. Это потенциально может быть чрезвычайно трудоемким / обременительным для системных процессов - реально этот процесс нужно будет запускать только раз в день или неделю - при условии, что нет других юридических / деловых причин для более частого выполнения.
конфигурация базы данных «ведущий-ведомый» источника позволяет этому процессу значительно снизить производительность, но я считаю, что это выходит за рамки этого вопроса.
источник
Я попробовал плагин Image Cleanup, и он лучший, но все же хорошо сначала сделать резервную копию.
источник
Вам нужно будет отсканировать вашу
wp-content/uploads
папку на наличие загруженных файлов, а затем базу данных на наличие ссылок на эти файлы и, наконец, сопоставить их вместе. То, что не может быть сопоставлено, должно быть безопасно удалено.Сканирование базы данных является сложной частью. Большинство ссылок на файлы хранятся в библиотеке мультимедиа, доступ к которой можно получить с помощью стандартных функций / API WordPress. Но что происходит с файлами, которые удалены из библиотеки мультимедиа, но на которые все еще ссылаются записи? Или файлы, на которые другие плагины ссылаются по-разному?
Я провел значительное количество тестов, и из того, что я собрал, все ссылки на файлы либо хранятся в текстовом формате (т. Е. Просто в ячейке таблицы, равной пути к файлу или URL), в формате HTML (т. Е. В содержимом сообщения), как сериализованные данные, или, наконец, как объекты JSON. Вам придется сканировать всю базу данных и попытаться угадать, какой формат используется в каждой ячейке. Конечно, могут быть другие экзотические способы, которыми некоторые плагины используют для хранения ссылок на свои файлы, но они могут быть обработаны только в каждом конкретном случае.
Следовательно, я написал плагин, который автоматически делает все это, так как он был нужен для некоторых сайтов наших клиентов, и назвал его Theia Upload Cleaner . Это хорошо сработало для меня, но, конечно, вы должны всегда делать резервную копию, прежде чем пытаться что-то подобное.
источник