Intereting Posts
плагин wordpress для управления макетом / дизайном темы Как определить, была ли произведена ревизия woocommerce или wordpress? Отправить электронную почту Woocommerce с информацией о купонах Я использовал Tax-meta-класс by bainternet, но я все еще не могу заставить его отображать какие-либо результаты. Как проверить, существует ли меню? Процесс проверки WooCommerce завершился неудачно – "Примечание: Неопределенная переменная: checkout" Импорт сообщений через MySql (файл csv) должен быть автоматически опубликован Можете ли вы запускать wordpress с несколькими доменами одновременно (не многосетевыми)? Баннер, отображающий скрипты на боковой панели Навигация по WordPress с родительским заголовком и дочерними страницами для детей the_post_thumbnail ('my_image_size') всегда выводит полное изображение get_term_children не возвращает массив дочерних терминов Внедрение JQuery не работает при перезагрузке страницы Использовать $ wpdb в файлах темы wordpress Виджеты WordPress кэшируются?

Как удалить одобренные спам-комментарии по дате?

Необходимо удалить 1000 комментариев спама в пределах диапазона данных, не удаляя законные комментарии

Solutions Collecting From Web of "Как удалить одобренные спам-комментарии по дате?"

К сожалению, WordPress не предоставляет никаких функций для выбора комментариев по диапазону дат, насколько мне известно. И хотя вы могли бы wp_delete_comment в цикле, это займет много времени.

Как показывает диаграмма отношений сущностей базы данных WordPress , комментарии ограничены тем, что они wp_comments таблице wp_commentmeta таблице wp_commentmeta , что удобно.

Используйте клиент командной строки MySQL или phpMyAdmin для прямого запроса запросов. Если ты:

 SELECT * FROM `wp_comments` LIMIT 1 

… вы увидите структуру данных комментариев. comment_date и comment_date_gmt – поля, с которыми вы будете играть BETWEEN . comment_date – это дата смещения комментария, установленная в настройках часового пояса, установленном в «Настройки / Общие». comment_date_gmt – это UTC + 0 время, универсальная правда.

 SELECT * FROM `wp_comments` WHERE `comment_date` BETWEEN '2010-01-15 00:00:00' AND '2012-01-15 00:00:00'; 

Не нужно объяснять. После того, как вы создали резервную копию своей базы данных (я действительно имею в виду ее, верните ее, пожалуйста, все может пойти не так), вы можете:

 DELETE FROM `wp_comments` WHERE `comment_date` BETWEEN '2010-01-15 00:00:00' AND '2012-01-15 00:00:00'; 

Теперь, когда структура базы данных показывает нам, мы останемся с затяжными метаданными в таблице wp_commentmeta .

 SELECT * FROM `wp_commentmeta` WHERE `comment_ID` NOT IN (SELECT `comment_ID` FROM `wp_comments`); 

Подзапрос позаботится об этом. Как только вы почувствуете себя комфортно, замените SELECT * для DELETE FROM .

Чтобы запланировать такие очистки, например «удалить все комментарии, которые были старше года», вы должны были бы wp_schedule_event эти запросы вместе с различными вариантами wp_schedule_event и класса wpdb для выпуска запросов. Чтобы построить дату, вы будете использовать функции даты, предлагаемые WordPress.