WP-CLI错误:“术语缺少父项”

时间:2021-09-01 作者:Talk Nerdy To Me

当我尝试通过命令行导出帖子时,会立即出现一个错误,即该术语缺少父项:

$ wp export
Starting export process...
Error: Term is missing a parent: name-of-tag (123)
当我在Wordpress中查看时,ID应用于标记,该标记没有适用的父/子模型。那么这里发生了什么,我该如何解决它呢?

1 个回复
SO网友:fevangelou

我最近尝试从我继承的一个大型WP站点导出帖子,但遇到了同样的问题。

出于某种原因,有些术语(通过term\\u id引用)链接到其他;“父级”;“中的术语”;wp\\U term\\U分类法“;表和这些“;“父级”;“中根本不存在术语”;wp\\U术语;桌子

因此,最简单的解决方案是只需将;wp\\U term\\U分类法“;桌子

BEFORE PROCEEDING 确保您已backup 数据库的。我怎么强调都不过分。。。

然后找出带有“的冒犯性术语”;“父级”;不存在的术语:

/* For categories */
SELECT * FROM `wp_term_taxonomy` WHERE taxonomy = \'category\' AND parent NOT IN(SELECT term_id FROM `wp_terms`);

/* For tags */
SELECT * FROM `wp_term_taxonomy` WHERE taxonomy = \'post_tag\' AND parent NOT IN(SELECT term_id FROM `wp_terms`);

/* For custom terms */
SELECT * FROM `wp_term_taxonomy` WHERE taxonomy = \'some_custom_term\' AND parent NOT IN(SELECT term_id FROM `wp_terms`);
最后更新;wp“术语”分类法;相应的表格并设置“;“父级”;到0:

/* For categories */
UPDATE `wp_term_taxonomy` SET parent = 0 WHERE taxonomy = \'category\' AND parent NOT IN(SELECT term_id FROM `wp_terms`);

/* For tags (we basically "flatten" all of them to a single level) */
UPDATE `wp_term_taxonomy` SET parent = 0 WHERE taxonomy = \'post_tag\';

/* For custom terms */
UPDATE `wp_term_taxonomy` SET parent = 0 WHERE taxonomy = \'some_custom_term\' AND parent NOT IN(SELECT term_id FROM `wp_terms`);
之后,运行wp export... 命令只会起作用。

P、 S.如果您使用的DB表前缀不是;wp\\uquot;,显然,您需要相应地更新上面的所有SQL查询

相关推荐

是否使用wp-cli启用所有插件的自动更新?(从WordPress 5.5开始)

由于WP 5.5刚刚发布,现在您可以将插件设置为自动更新,这可以通过WP cli完成吗?查看文档,我没有看到它的子命令:https://developer.wordpress.org/cli/commands/plugin/我管理了很多Wordpress网站,其中大多数都可以自动更新,如果可以的话,可以节省我很多时间,还可以减少安全风险。我想在许多wordpress网站上启用插件的自动更新。有什么解决方案吗?