WP-CLI:WP术语生成xxxxx-错误:‘xxxxx’不是已注册的分类

时间:2015-12-30 作者:deadlyhifi

我正在编写一个WP-CLI命令,该命令使用wp_insert_term. 不接受自定义分类法上的操作,因为它们不会显示为已注册。

包括wp cliTerm_Command 自身使用wp_insert_term 并允许对默认分类法执行操作,但对自定义分类法执行错误。

各种搜索表明,直到init. 有办法跑吗init 在wp cli内部,以便可以操纵自定义分类法?有人有其他想法吗?

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

我想出了一个办法,虽然感觉有点不对。

首先测试是否存在分类法(至少第一次没有),然后将其作为流程的一部分创建…

if (! taxonomy_exists($this->taxonomy_manufacturer)) {
     register_taxonomy($this->taxonomy_manufacturer, \'product\');
}

if (! term_exists($manufacturer[\'name\'], $this->taxonomy_manufacturer)) {
     wp_insert_term($manufacturer[\'name\'], $this->taxonomy_manufacturer);
}
注意事项,register_taxonomy 警告impending doom 如果是在init. 我不确定它在我的场景中的含义,如果我的蜘蛛感觉开始刺痛,我会报告,但目前为止还不错。

SO网友:Nicola Peluchetti

如果在多站点上运行,则必须指定运行命令的站点,以便使用--url加载正确的主题。

例如

wp --require=check-vehicle-fallback.php vehicle-fallback export --url=yoursite.example.dev