J'utilise V2.0 et j'essaie de créer une publication à l'aide du point de terminaison/posts.
Voici la charge utile envoyée avec ma demande:
var payload =
{
title : "some title",
format : "link",
tags: ["tag1", "tag2"],
categories: ["newsletter"],
content: "http://someurl.com",
status: "publish"
};
Les articles sont en cours de création et tous les autres champs sont ajoutés à l'exception de la catégorie et des balises.
Je vois que les deux sont censés prendre un tableau de chaînes. Qu'est-ce que j'oublie ici?
De plus, j'ai essayé d'ajouter des catégories et des balises déjà existantes sur le site, ainsi que de toutes nouvelles. les deux ne fonctionnent pas.
Vous utilisez le nom dans vos termes. Par défaut, essayez d'utiliser l'identifiant de terme existant (dans votre cas, l'identifiant de chat et l'identifiant de balise).
Si vous voyez https://plugins.trac.wordpress.org/browser/rest-api/trunk/lib/endpoints/class-wp-rest-posts-controller.php#L918 ils gèreront votre mandat avec assainissez-les en un entier non négatif en utilisant absint
. J'espère que cette aide.
Voici un exemple de code à raccorder rest_insert_{$this->post_type}
pour créer des termes (balises et catégories) et définir dans post après ID créé par wp_insert_post
. Remarque: les balises et la demande de catégorie se trouvent dans le tableau de noms en tant que code exemple OP.
add_action( 'rest_insert_post', 'wpse220930_rest_insert_post', 1, 3 );
function wpse220930_rest_insert_post( $post, $request, $update = true )
{
if ( ! empty( $request['tags'] ) )
wp_set_object_terms( $post->ID, $request['tags'], 'post_tag', $update );
if ( ! empty( $request['categories'] ) )
wp_set_object_terms( $post->ID, $request['categories'], 'category', $update );
}