J'ai un type de message personnalisé appelé eyeglasses
et une taxonomie personnalisée appelée models
. J'ai également créé deux termes de taxonomie appelés M156
et M120
. Maintenant, j'essaye de télécharger deux articles pour test via wp_insert_post
.
Ceci ajoute le $title
au post_title
de eyeglasses
mais n'additionne ni ne met à jour le terme de l'article.
function we_load_posts($title, $term)
{
wp_insert_post(array(
"post_type" => "eyeglasses",
"post_title" => $title,
"tax_input" => array(
"models" => array($term)
),
"post_status" => "publish"
));
}
we_load_posts("Montana", "M156");
we_load_posts("Havana", "M120");
pouvez-vous s'il vous plaît laissez-moi savoir ce que je manque ou ce que je fais mal ici?
Peu de points me viennent à l’esprit:
Il y a une faute de frappe dans "post_type" => "'eyeglasses"
(citation simple supplémentaire). Ce devrait être: "post_type" => "eyeglasses"
.
Essayez de mettre le $term
au lieu de array( $term )
:
"tax_input" => array(
"models" => $term
)
Aussi, est-ce models
ou model
? par exemple.
"tax_input" => array(
"model" => $term
)
tax_input
requiert la capacité assign_terms
. Donc, si l'utilisateur avec lequel vous exécutez ce CODE n'a pas cette capacité, cela ne fonctionnera pas.
Dans ce cas, la bonne façon est:
$post_id = wp_insert_post(array(
"post_type" => "eyeglasses",
"post_title" => $title,
"post_status" => "publish"
));
wp_set_object_terms( $post_id, $term, 'model' );