J'essaie de créer automatiquement des termes dans une taxonomie donnée lorsqu'un type de publication personnalisé est publié. Le terme nouvellement créé doit être le nom du message publié.
Exemple: j'ai un type de message personnalisé "pays" et une taxonomie personnalisée "pays_taxo". Lorsque je publie un pays qui dit "Kenya", je souhaite que le terme "Kenya" soit automatiquement créé sous la taxonomie "country_taxo".
J'ai accompli cela en utilisant le "crochet d’action publish_ (custom_post_type)", mais je ne peux que le faire fonctionner de manière statique. Exemple:
// This snippet adds the term "Kenya" to "country_taxo" taxonomy whenever
// a country custom post type is published.
add_action('publish_country', 'add_country_term');
function add_country_term() {
wp_insert_term( 'Keyna', 'country_taxo');
}
Comme je l'ai mentionné ci-dessus, j'ai besoin de ceci pour ajouter dynamiquement le titre de l'article en tant que terme. J'ai essayé ça, mais ça ne marche pas:
add_action('publish_country', 'add_country_term');
function add_country_term($post_ID) {
global $wpdb;
$country_post_name = $post->post_name;
wp_insert_term( $country_post_name, 'country_taxo');
}
Est-ce que quelqu'un sait comment j'y arriverais? Toute aide est grandement appréciée.
Vous êtes presque là - le problème est que vous essayez d'accéder à l'objet $post
lorsque la fonction reçoit uniquement la publicationID.
add_action( 'publish_country', 'add_country_term' );
function add_country_term( $post_ID ) {
$post = get_post( $post_ID ); // get post object
wp_insert_term( $post->post_title, 'country_taxo' );
}