首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除所有草稿?

删除所有草稿?
EN

WordPress Development用户
提问于 2018-12-07 17:12:45
回答 2查看 1.9K关注 0票数 0

这是删除所有post修订的常见查询:

代码语言:javascript
复制
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'

这是否可以删除所有草案?

代码语言:javascript
复制
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'draft'

它是否比这更好,因为它也删除了postmeta?

代码语言:javascript
复制
 DELETE FROM posts WHERE post_status = ‘draft’
EN

回答 2

WordPress Development用户

回答已采纳

发布于 2018-12-07 17:18:40

draft不是post_type,它是post_status。因此,您应该使用第二个代码块进行替换:

代码语言:javascript
复制
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_status = 'draft'
票数 2
EN

WordPress Development用户

发布于 2020-12-13 17:47:24

我建议如果你想手动删除wp_posts中的任何帖子。您需要执行以下步骤:-

  1. 从后置表中移除。
代码语言:javascript
复制
delete FROM wp_postmeta WHERE post_id IN
    (
        select id from wp_posts where post_status='draft'
    );
  1. 从wp_term_relationships表中删除。
代码语言:javascript
复制
delete FROM wp_term_relationships WHERE object_id IN
    (
        select id from wp_posts where post_status='draft'
    );
  1. 从wp_posts表中删除。
代码语言:javascript
复制
delete from wp_posts where post_status='draft'
票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/321320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档