web-dev-qa-db-fra.com

Mettre à jour les conditions de publication avec une taxonomie personnalisée

J'ai plusieurs types de poste de douane:

CPT1 = "vélo",

CPT2 = "voiture"

Ils partagent une taxonomie personnalisée commune "couleurs" (avec les termes: "bleu" , "rouge" ).

Ils ont aussi leur propre taxonomie avec des termes tels que: "blue_bike" , "red_bike" ..

Je cherche comment mettre à jour automatiquement la taxonomie post avec la taxonomie personnalisée.

Par exemple: Si je ne sélectionne que le terme de taxonomie personnalisé "bleu" dans le type de message personnalisé "Vélo".

Est-il possible lorsque je sauvegarde le message, il sera automatiquement mis à jour avec le terme "blue_bike" ?

Et si c'est possible, comment faire ça?

J'essaie depuis quelques heures avec la fonction wp_set_object_terms , sans résultat (mes compétences en php ne sont pas très bonnes)

1
julien.b

Oui, ça l'est. Mais vous devez connaître le slug exact de la taxonomie, car les couleurs ne sont pas comme des termes préservés à générer par programme. Voici un exemple de la façon de le faire:

// run our function when a post is published
add_action('save_post','update_my_taxonomies');
function update_my_taxonomies($post_id){
    // Check if the post has a particular taxonomy
    if(has_term( 'blue', 'colors', $post_id )){
        // Assign a term to our post
        wp_set_object_terms( $post_id, 'blue', 'blue_bike' );
    }
}

Ceci définira la blue pour le blue_bike si la publication a le terme blue comme taxonomie color.

1
Jack Johansson