Чистка комментариев (SQL запросы): как удалить все комментарии к указанным постам

Решил почистить отзывы на сайте (накопилось много).

Использую вот такой sql запрос, чтобы удалить все комменты к конкретному посту

DELETE FROM wp_comments
WHERE comment_post_ID = '639'

Подскажите как правильно указать несколько ID постов? Просто через запятую не работает.

И еще столкнулся с такой проблемой, что нужно вручную изменять значение на ноль в поле 'comment_count' таблица 'wp_posts' иначе у поста так и висит количество комментов, которые были до удаления.

Подскажите sql запрос, который изменит значение в 'comment_count' на ноль сразу в нескольких постах по перечисленным ID ?

Замысел простой первым sql запросом почистить комментарии, вторым запросом очистить количество отзывов у этих постов, тоесть изменить значение на 0

0
lethalblo
1.3 года назад 50
  • 2
    Dan Zakirov 721 air-wp.com

    Можно использовать оператор IN в SQL для указания нескольких значений, например

    DELETE FROM wp_comments
    WHERE comment_post_ID IN ('139', '140', '141')

    Теперь по нулю ''comment_count'':

    UPDATE wp_posts
    SET comment_count = 0
    WHERE ID IN (123, 124, 125, 126)
    Dan Zakirov 1.3 года назад

    Кстати, comment_count должно автоматически обновляется при добавлении или удалении комментариев. Если вы делаете SQL запросы то обновляться не будет, поэтому можно удалять комменты через WP CLI, в этом случае теоретически должно обновляться

    wp comment delete $(wp comment list --post_id=639,640,641 --format=ids)
    Dan Zakirov 1.3 года назад

    И первый SQL запрос я написал, возможно неправильно, ('139', '140', '141') или с кавычками или без, скорее всего без одинарных кавычек, потому что там цифры должны хранится

    lethalblo 1.3 года назад

    Спасибо за помощь, SQL запросы работают как надо. После добавления нового коммента значение действительно обновляется, но мне важно обновить значение сразу.

    Dan Zakirov 1.3 года назад

    Если все нормально работает, пожалуйста пометьте вопрос как решенный

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация