問題描述

我正在清理一個老的,有爭議的部落格條目,我需要從帖子中刪除所有的評論。

令人驚訝的是,在現有的 WordPress(3.0.4)UI 中找不到一種方法。

我可以透過所有 200 多個評論點選”trash”,但這似乎過度。有沒有另一種方法來做,我失蹤了?

最佳解決方案

閱讀此文的人對於 SQL 的恐懼……………(或者在 2011 年 Januari 之後透過 Google 發現):

等待這個動作,直到 3.1 出來,然後去一個帖子,檢查所有評論和批次 「移動到垃圾」:)(它應該出來任何一天現在)(http://wordpress.org/about/roadmap/)

(或從 http://wordpress.org/download/release-archive/下載 3.1 RC3)

例:

http://edward.de.leau.net/files/bulkremove.png

次佳解決方案

WordPress 不支援透過郵寄方式批次管理對帖子的評論。雖然它直接在帖子的編輯頁面上有一個註釋管理部分。如您所說,您必須在每個評論上單擊”Trash”:

或者,您可以備份 wp_comments 和 wp_commentmeta 表並執行以下查詢:

  1. 查詢帖子 ID 。讓我們說相關的 id 是 X.

    SELECT ID from wp_posts WHERE post_type='post' AND post_title='Hello world!' INTO @x;
    
  2. 新增相關評論後設資料只是為了保持誠信:

    INSERT INTO wp_commentmeta (comment_id, meta_key, meta_value) SELECT comment_ID, "wp_trash_meta_time", UNIX_TIMESTAMP() FROM wp_comments WHERE comment_post_ID=@x;
    
    INSERT INTO wp_commentmeta (comment_id, meta_key, meta_value) SELECT comment_ID, "wp_trash_meta_status",comment_approved FROM wp_comments WHERE comment_post_ID=@x;
    
  3. 垃圾所有評論:

    UPDATE wp_comments SET comment_approved='trash' WHERE comment_post_ID=@x;
    

第三種解決方案

嗨 @Jeff Atwood:

我假設你有 MySQL 查詢訪問。這將為您的部落格文章提供所有評論,其網址是'your-blog-post'(如果您使用漂亮的永久連結,則是您的帖子網址的最後一個段落,即 http://example.com/2011/01/foo-bar-baz/您的外掛將是'foo-bar-baz'):

SELECT * from wp_comments WHERE comment_post_ID IN (
  SELECT ID FROM wp_posts WHERE post_name='your-post-slug'
)

這將給你所有的評論後設資料:

SELECT * from wp_commentmeta WHERE comment_id IN (
  SELECT comment_ID from wp_comments WHERE comment_post_ID IN (
    SELECT ID FROM wp_posts WHERE post_name='your-post-slug'
  )
)

所以… 執行這兩個命令 (但請確保將 post_name 值替換為等於您的)

DELETE from wp_commentmeta WHERE comment_id IN (
  SELECT comment_ID from wp_comments WHERE comment_post_ID IN (
    SELECT ID FROM wp_posts WHERE post_name='your-post-slug'
  )
);

DELETE from wp_comments WHERE comment_post_ID IN (
  SELECT ID FROM wp_posts WHERE post_name='your-post-slug'
);

附:這當然會完全刪除它們,但是除非你想要將它們儲存在垃圾箱中,否則將它們移動到垃圾桶中更容易。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。