wp-cli: wp term generieren xxxxx – Fehler: ‘xxxxx’ ist keine registrierte Taxonomie

Ich schreibe einen WP CLI-Befehl, der Taxonomien mit wp_insert_term erstellt und aktualisiert. Aktionen in meinen benutzerdefinierten Taxonomien werden nicht akzeptiert, da sie nicht als registriert angezeigt werden.

Der wp-cli include Term_Command selbst verwendet wp_insert_term und ermöglicht Aktionen für Standardtaxonomien, aber Fehler für benutzerdefinierte Taxonomien.

Verschiedene Suchen legen nahe, dass benutzerdefinierte Taxonomien erst bei der init registriert werden. Gibt es eine Möglichkeit, init innerhalb von wp-cli auszuführen, so dass benutzerdefinierte Taxonomien manipuliert werden können? Hat jemand andere Ideen?

Solutions Collecting From Web of "wp-cli: wp term generieren xxxxx – Fehler: ‘xxxxx’ ist keine registrierte Taxonomie"

Ich habe einen Weg gefunden, obwohl es sich ein bisschen falsch anfühlt.

Testen Sie zuerst, ob die Taxonomie existiert (was beim ersten Mal nicht der Fall ist) und erstellen Sie sie dann als Teil des processes …

 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 warnt vor drohendem Untergang, wenn es außerhalb von init aufgerufen wird. Ich bin mir nicht sicher, welche Auswirkungen das in meinem Szenario haben wird, und ich melde mich zurück, wenn mein Spideysense anfängt zu kribbeln, aber bis jetzt so gut.

Wenn Sie auf einer Multisite arbeiten, müssen Sie die Site angeben, auf der Sie den Befehl für die Verwendung von –url ausführen, damit das richtige Theme geladen wird.

Beispielsweise

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