如何将所有已删除的帖子分配/移动到某个类别

时间:2019-07-22 作者:XATA

我有一个数据库50,000 articles, 我的一个类别包含post of 30k, 我错误地删除了一个包含30000篇帖子的类别,但所有帖子仍然存在。

我已经在google上搜索了2天了,但我仍然找不到方法将这30k移动到我刚刚创建的新类别。

请帮帮我,我有权限访问PHPMyAdmin

INSERT IGNORE INTO wp_term_relationships
(object_id, term_taxonomy_id)
(  
   SELECT DISTINCT ID, 3
   FROM wp_posts
   WHERE post_type = \'post\' AND post_status = \'publish\'
);
我发现上面的代码很有用,但它会移动ALL the posts of the entire site 对于一个类别,我只需要删除的帖子

2 个回复
SO网友:WebElaine

选项1:备份—许多主机都提供备份。有时你必须为他们付费,但通常即使你这样做了,他们实际上也在备份一切,而付费只允许你访问他们。值得检查,因为这将是最快的。

选项2:帖子列表屏幕-如果这些帖子都只有一个类别,即被删除的那一个,那么它们现在将被取消分类。你可以在wp admin中的All Posts(所有帖子)屏幕上找到所有未分类的帖子,使用顶部的屏幕选项一次显示你想要的帖子数量(我建议一次显示100篇),并逐页检查All(全部)和bulk edit(批量编辑)以分配新类别。

选项3:如果所有其他操作都失败-如果您没有备份,并且帖子有其他类别,但您有一个要放回该类别中的特定帖子的列表,那么您可以在phpMyAdmin中运行查询,将这些帖子与该类别相关联。您需要首先找到要添加到类别中的每个帖子的帖子ID,然后可以找到将这些帖子ID与类别关联的查询。

SO网友:RiddleMeThis

你不能只恢复备份?如果不是,这是我能想到的最简单的事情。。。

听起来您想将所有类别为“未分类”的帖子移至新类别。可以使用SQL实现这一点,但更快的方法可能是更改未分类类别的名称和slug。

进入admin > Posts > Categories 点击编辑按钮“未分类”。更改名称和Slug,所有这些帖子都将属于新类别。

然后,您可以创建新的默认类别,然后在中更改默认类别Settings > Writing.

Note: 在处理这些事情之前,一定要备份数据库。