wp set objekt terms vs wp setzen posttermen

Untersuchen des folgenden Beispielcodeausschnitts aus dem WP-Codex

$post = array( 'ID' => [  ] //Are you updating an existing post? 'post_author' => [  ] //The user ID number of the author. 'post_category' => [ array(, ) ] //Add some categories. 'post_content' => [  ] //The full text of the post. 'post_date' => [ Ymd H:i:s ] //The time post was made. 'post_title' => [  ] //The title of your post. 'post_type' => 'post' 'tags_input' => [ ', , ' ] //For tags. 'tax_input' => [ array( 'taxonomy_name' => array( 'term', 'term2', 'term3' ) ) ); 

Ich sehe, dass nur die Kategorien ihre Eingabe von IDs nehmen.

Aus irgendeinem Grund (was ich gerne die Geschichte dahinter wissen möchte), nehmen Tags und benutzerdefinierte Taxonomien ihre Eingaben unterschiedlich auf.

Hier betrachten wir 3 verschiedene Möglichkeiten, die Taxonomiebegriffe festzulegen.

Für Katzen verwenden

 'post_category' => [ array(, ) ] 

für Tags, verwenden,

 'tags_input' => [ ', , ' ] 

und schließlich für CT’s

 'tax_input' => [ array( 'taxonomy_name' => array( 'term', 'term2', 'term3' ) ) 

Mit diesen 3 verschiedenen Wegen, denke ich, werden die Dinge kompliziert. Es ist nicht so, dass es nicht machbar ist, aber programmatisch erscheint es komplizierter als es sein sollte.

Ich dachte, warum benutze ich nicht einfach die Uncategorized Cat ID von 1 hier (innerhalb der Post wp_insert_post), nur um die Post zu bekommen, und dann kümmern sich um die richtigen Katzen, Tags und benutzerdefinierte Taxonomien, alle mit dem gleichen functionsaufruf.

In diesem Sinne habe ich zwei Möglichkeiten; wp set object terms und wp set post terms

Ich würde gerne wissen, ob einer besser ist als der andere und warum wir hier zwei verschiedene, aber sehr ähnliche Situationen haben (fast wie eine Untermenge gegen Supermenge).

Welche wird empfohlen, wenn Tausende von Posts und Katzen Tags programmatisch verwaltet werden – besonders in einer Migrationsphase?

Solutions Collecting From Web of "wp set objekt terms vs wp setzen posttermen"

Es gibt keinen großen Unterschied zwischen ihnen, tatsächlich verwendet wp_set_post_terms() wp_set_object_terms() , wp_set_object_terms() aber nur wenig extra. Das wird auch auf der wp_set_object_terms() Codex-Seite notiert:

Vielleicht ist die wp_set_post_terms () eine nützlichere function, da sie die Werte überprüft, Taxonomien durch Kommas getrennt und hierarchische Ausdrücke in ganzen Zahlen validiert.

http://codex.wordpress.org/Function_Reference/wp_set_object_terms#Notes