2011-02-25 3 views

Répondre

0

LA SOLUTION

En utilisant wp_set_object_terms()

balise function

() {
post global $;
$ tags = array ('Hey', date ('Y'), 'Cool');
wp_set_object_terms ($ post-> ID, $ tags, 'post_tag', true); }

add_action ('publish_page', 'tag');

3

Passé une minute chaude à la recherche d'une solution à ce même problème. Je l'ai juste trouvé en combinant quelques solutions à des demandes semi-connexes, pensais-je partager. Vous êtes la bonne piste avec wp_set_post_tags() mais la clé est de mettre la balise sur publier afin qu'un identifiant puisse être passé. Le code suivant ajoutera le tag "archive" une fois publié. Notez que j'utilise un type de message personnalisé "andytoday", vous devrez le remplacer par "post" pour une utilisation standard ou votre nom de type de message personnalisé spécifique, le cas échéant. Ajoutez ceci à functions.php et renommez la fonction en conséquence. Ne pas pour obtenir à renommer dans le crochet aussi bien.

function set_archive_tag_on_publish($post_id,$post) { 
    if ($post->post_type == 'andytoday' 
    && $post->post_status == 'publish') { 
     wp_set_post_tags($post_id, 'archive', true); 
    } 
    } 
add_action('save_post','set_archive_tag_on_publish',10,2); 
Questions connexes