Доверьте продвижение нам

Попробуйте надежный хостинг для вашего сайта

Мы рекомендуем своим клиентам! Получите надежность и полное управление вашим сайтом.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

от 1 499 098 

Как убрать записи в wordpress

Views Icon42

Удаление записей с помощью плагинов

В WordPress существует множество плагинов, позволяющих массово удалять записи и управлять контентом. Такой подход удобен, так как не требует вникания в код или работу с базой данных.

Плагин Bulk Delete

Одним из популярных бесплатных плагинов является Bulk Delete. Этот плагин позволяет удалять не только записи, но и страницы, комментарии, пользователей и другие типы контента с помощью различных фильтров.
Основные функции плагина Bulk Delete:

  • Массовое удаление записей по типу, категории или автору.
  • Удаление записей по определённым условиям (например, записи старше определённой даты).
  • Возможность удаления записей вместе с вложениями, такими как изображения.

После установки и активации Bulk Delete перейдите в раздел «Bulk WP» в админ-панели WordPress. Здесь можно настроить фильтры и выполнить удаление по выбранным параметрам.

Другие полезные плагины

Помимо Bulk Delete, существуют и другие инструменты для автоматизации процесса очистки контента:

  • WP-Sweep — плагин для очистки базы данных, который удаляет ревизии, метаданные и другие временные данные.
  • Advanced Database Cleaner — инструмент для удаления неиспользуемых данных, таких как «осиротевшие» метаданные и временные записи.
  • Media Cleaner — плагин для поиска и удаления неиспользуемых медиафайлов.

Удаление записей через SQL-запросы

Иногда штатных функций WordPress недостаточно, особенно если требуется массовое удаление без использования плагинов. В таких случаях можно воспользоваться прямыми SQL-запросами к базе данных. Будьте осторожны: перед выполнением любых операций обязательно сделайте резервную копию базы данных.

Примеры SQL-запросов для удаления записей

Ниже приведены примеры SQL-запросов:
Удаление всех записей со статусом «draft»:

 -- Удаление записей со статусом «draft» DELETE FROM wp_posts WHERE post_status = 'draft' AND post_type = 'post'; 

Удаление записей, опубликованных до определённой даты:

 -- Удаление записей, опубликованных до 2020-01-01 DELETE FROM wp_posts WHERE post_date < '2020-01-01 00:00:00' AND post_type = 'post'; 

После выполнения запроса рекомендуется очистить кэш и оптимизировать базу данных для улучшения производительности.

Очистка связанных данных

После удаления записей через SQL могут остаться связанные метаданные и таксономии. Для их удаления используйте дополнительные запросы:
Удаление метаданных, не связанных ни с одной записью:

 -- Удаление «осиротевших» метаданных DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL; 

Удаление изображений и медиафайлов, связанных с записями

При удалении записей часто необходимо удалить связанные с ними медиафайлы. В WordPress медиафайлы связаны с записями через поле post_parent в таблице wp_posts.

Автоматическое удаление медиафайлов через плагин

Некоторые плагины, такие как Bulk Delete, поддерживают опцию удаления медиафайлов при удалении записей. Убедитесь, что эта опция включена в настройках плагина.

Ручное удаление медиафайлов через SQL-запросы

Для удаления неиспользуемых медиафайлов можно использовать следующий запрос:

 -- Удаление медиафайлов без родительской записи DELETE FROM wp_posts WHERE post_type = 'attachment' AND (post_parent IS NULL OR post_parent = 0); 

Удаление медиафайлов с использованием PHP

Можно удалить медиафайлы программно с помощью функции wp_delete_attachment():

 <?php // Пример PHP-кода для удаления медиафайла по ID Заменитенавашеговложения
attachment_id, true ) ) { echo "Вложение удалено успешно."; } else { echo "Ошибка при удалении вложения."; } ?> 

Ручное удаление через админ-панель WordPress

Стандартный функционал WordPress позволяет удалять записи вручную:

  1. Перейдите в админ-панель WordPress.
  2. Откройте раздел «Записи» или другой нужный тип контента.
  3. Выберите записи с помощью чекбоксов.
  4. В выпадающем списке «Групповые действия» выберите «Переместить в корзину» и нажмите «Применить».
  5. Зайдите в корзину и окончательно удалите записи.

Массовые действия через экран списка записей

Для массового удаления:

  • На экране списка записей выберите количество отображаемых записей (можно увеличить число в «Настройках экрана»).
  • Отметьте все записи с помощью верхнего чекбокса.
  • Выполните групповое действие «Переместить в корзину».

Очистка базы данных

После удаления записей и медиафайлов в базе могут остаться ненужные метаданные, ревизии и другие временные записи. Для их удаления используйте специальные плагины или SQL-запросы.

Плагины для очистки базы данных

Популярные инструменты для очистки базы данных:

  • WP-Optimize — оптимизирует базу данных, удаляя ревизии и удалённые данные.
  • Advanced Database Cleaner — позволяет просматривать таблицы и удалять неиспользуемые метаданные.
  • WP-Sweep — инструмент для глубокой очистки базы данных.

Ручная очистка с использованием SQL

Удаление всех ревизий записей:

 -- Удаление всех ревизий записей DELETE FROM wp_posts WHERE post_type = 'revision'; 

Удаление «осиротевших» метаданных:

 -- Удаление метаданных, не связанных с записями DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL; 

Вопросы безопасности при удалении записей

Безопасность — ключевой аспект при массовом удалении записей и медиафайлов.

Резервное копирование базы данных

Перед выполнением любых операций с базой данных создайте резервную копию. Используйте плагины вроде UpdraftPlus или средства хостинг-провайдера.

Безопасное выполнение SQL-запросов

Рекомендации при работе с SQL-запросами:

  • Используйте транзакции для возможности отката изменений.
  • Тестируйте запросы на копии базы данных.
  • Ограничьте права доступа пользователя базы данных.

Дополнительные методы и рекомендации

Использование WP-Cron для автоматизации удаления

Для автоматизации удаления устаревших записей используйте планировщик задач WP-Cron. Пример кода для удаления ревизий еженедельно:

 <?php // Регистрируем задачу удаления ревизий каждую неделю if ( ! wp_next_scheduled( 'custom_weekly_cleanup' ) ) { wp_schedule_event( time(), 'weekly', 'custom_weekly_cleanup' ); } // Функция обработки задачи очистки add_action( 'custom_weekly_cleanup', 'custom_cleanup_revisions' ); function custom_cleanup_revisions() { global 
wpdb->query( "DELETE FROM {$wpdb->posts} WHERE post_type = 'revision'" ); } ?> 

Использование WP-CLI для массового удаления

Если у вас есть доступ к командной строке сервера, воспользуйтесь WP-CLI для выполнения массовых операций:
Удаление всех записей определённого типа:

 wp post delete $(wp post list --post_type='post_type' --format=ids) --force 

Регулярное резервное копирование

Регулярно создавайте резервные копии сайта и базы данных. Это позволит восстановить сайт в случае ошибки или некорректной операции.

Заключение

Массовое удаление записей в WordPress помогает оптимизировать работу сайта и упорядочить контент. Однако этот процесс требует осторожности и понимания связей между записями, медиафайлами и метаданными.
Всегда делайте резервные копии перед внесением изменений и тестируйте операции на копии сайта. Используйте плагины и инструменты, соответствующие вашим потребностям, и придерживайтесь рекомендаций по безопасности.

Регулярное обслуживание базы данных и своевременное удаление ненужного контента помогут поддерживать высокую производительность и безопасность вашего сайта.

Если у вас возникли вопросы или требуется помощь, обратитесь к официальной документации WordPress или специализированным сообществам и форумам.

Поделиться:

Задать вопрос

Оставляя заявку, вы соглашаетесь с политикой обработки персональных данных.

Оставить заявку

Оставляя заявку, вы соглашаетесь с политикой обработки персональных данных.