wp-cli: wp term generate xxxxx – Ошибка: «xxxxx» не является зарегистрированной таксономией

Я пишу команду WP CLI, которая создает и обновляет таксономии, используя wp_insert_term . Действия по моей пользовательской таксономии не принимаются, поскольку они не отображаются как зарегистрированные.

В wp- cli включен Term_Command сам использует wp_insert_term и разрешает действия по таксономиям по умолчанию, но ошибки в пользовательских таксономах.

Различные поисковые запросы показывают, что пользовательские таксономии не регистрируются до init . Есть ли способ запустить init внутри wp-cli, чтобы можно было манипулировать пользовательскими таксономиями? У кого-нибудь есть другие идеи?

Solutions Collecting From Web of "wp-cli: wp term generate xxxxx – Ошибка: «xxxxx» не является зарегистрированной таксономией"

Я понял путь, хотя он чувствует себя немного не так.

Первый тест, если существует таксономия (которая не … в первый раз по крайней мере), а затем создать ее как часть процесса …

 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); } 

Caveat, register_taxonomy предупреждает о надвигающейся гибели, если она вызывается вне init . Я не уверен в последствиях этого в моем сценарии, и я отчитаю, если моя spideysense начнет покалывать, но пока все хорошо.

Если вы работаете в многопользовательском режиме, вам нужно указать сайт, на котором вы используете команду для использования –url, чтобы загрузить нужную тему.

Например

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