wp_set_object_terms funktioniert nicht innerhalb der Schleife

Ich habe den folgenden Code

$genres= array('action', 'comedy', 'horror'); foreach($genres as $genre){ $ret = wp_set_object_terms( $postId, $genre, 'genres'); } 

Aber dieser Code assoziiert nur Horror als Genre. Als ich die DB auch überprüfte, habe ich keinen Rekord für Action und Comedy. Wie verbinde ich alle drei mit meinem Genre?

Danke im Voraus.

Solutions Collecting From Web of "wp_set_object_terms funktioniert nicht innerhalb der Schleife"

Sie können ein Array von Begriffen an wp_set_object_terms , für die es keine Notwendigkeit gibt:

 $genres= array('action', 'comedy', 'horror'); $ret = wp_set_object_terms( $postId, $genres, 'genres'); 

@ Bainternets Antwort brachte mich auf den richtigen Weg, um eine kommagetrennte Zeichenfolge als einzelne Tags in der database zu speichern und jedes einzelne Tag dem richtigen Post zuzuordnen.

Ich brauchte das, weil ich ein Formularfeld habe, das Benutzern erlaubt, eine Liste kommagetrennte Tags einzugeben.

Wie auch immer, hier ist der vollständige Code, den ich verwende:

 // Sanitize user/form input $custom_tags = trim(htmlspecialchars($_POST['custom_tags'])); // Explode returns the comma separated terms as an array $custom_tags_separated = explode(',', $custom_tags); // Pass the array of terms to wp_set_object_terms wp_set_object_terms($post_id, $custom_tags_separated, 'custom_tag');