创建了多个空帖子,无法将其删除

时间:2019-05-07 作者:stemon

创建了2000多个空帖子,我无法从管理员中删除它们。使用在SQL上也找不到它们

SELECT *
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 )
LEFT JOIN wp_term_taxonomy d ON ( d.term_taxonomy_id = 
b.term_taxonomy_id )
LEFT JOIN wp_terms e ON ( e.term_id = d.term_id )
WHERE e.term_id = 1
也许他们是“邮差”?如何删除它们?

enter image description here

1 个回复
最合适的回答,由SO网友:WebElaine 整理而成

它们肯定是某种post-postmeta本身并没有像这样出现在post列表屏幕中。删除它们的最快方法是转到屏幕选项,一次显示更多的帖子(比如每页500篇,这样就不会超时),然后使用批量操作一次删除500篇。

但是,如果要直接在数据库中执行操作,请执行以下操作:

你可以跑步

SELECT * from wp_posts WHERE post_title = \'\'
选择所有没有标题的帖子。一旦你有了这个列表,你可以像这样删除postmeta(用你的id列表替换1,2,3,用你的前缀替换wp\\uprefix):

DELETE from wp_postmeta WHERE post_id IN (1,2,3)
您可以像这样删除帖子的分类关联(再次用ID列表替换1,2,3,并用前缀替换wp\\uprefix):

DELETE from wp_term_relationships WHERE object_id IN (1,2,3)
然后别忘了删除帖子本身:

DELETE from wp_posts WHERE post_title = \'\'

相关推荐

在wp_USERS上添加wp_usermeta的自定义SQL查询

我试图使用SQL in()查询WordPress中的用户id列表,并在wp\\u usermeta表中的meta\\u键“is\\u registered”上添加meta\\u值为“Yes”的用户id,但我似乎无法实现这一点。它只返回0个结果。如果我只将IN()与ID的数组一起使用,则效果很好。以下是我正在使用的内容:SELECT DISTINCT wp_users.ID FROM wp_users LEFT JOIN wp_usermeta ON ( wp_users.ID = wp_usermeta.