我正在尝试使用SQL将所有内容从一个类别迁移到另一个类别。谢谢你的帮助。
我想更改此查询的term\\u taxonomy\\u id。通过SQL从类别和子类别迁移帖子
1 个回复
SO网友:Tom J Nowell
我强烈怀疑您之所以需要没有提到/共享的SQL,是因为由于PHP执行时间的限制,您无法使用WP函数来获取帖子并在单个请求中手动执行,或者您不知道如何执行。
遗憾的是,通过SQL进行操作并不能保证这会起作用,此外,您将破坏所有涉及的缓存,所有术语日志计数都将被破坏,以及其他一些事情。
要做到这一点,最好的方法是使用WP CLI,例如,这里我们将所有帖子放在类别X中,放在类别Y中,然后将它们从X中删除:
# get all the post IDs in category x
posts=wp post list --category_name="x" --field="ID"
# Move them from x to Y
for id in $posts
do
wp post term remove $id cat "x" --by="slug"
wp post term add $id cat "y" --by="slug"
done
但考虑到你暗示你将在年底前完成这项工作,简单地重命名术语可能会更容易,所以2010
-> 2009
, 2011
-> 2010
等等。这会更快/更可靠/更简单。