J'essaie d'écrire un plugin qui copie un type d'événement personnalisé "événement" d'un blog à un autre. Le code de copie fonctionne déjà, mais je n'arrive pas à obtenir le hook "add_action" qui fonctionne lorsqu'un événement est publié.
add_action('publish_event', 'copy_event_to_mini_site' );
function copy_event_to_mini_site() {
code in here to copy relevant data from one blog to the other
}
J'ai aussi essayé: add_action('publish_post', 'copy_event_to_mini_site' );
Cela n'a pas fonctionné non plus.
Lire le codex, c'est là que j'ai finalement trouvé la réponse:
https://codex.wordpress.org/Plugin_API/Action_Reference/publish_post
à la fin :
Types de messages personnalisés
Pour déclencher cette action pour un type de publication personnalisé, utilisez publish _ {$ custom_post_type}. par exemple. si votre type de message est 'book', utilisez:
add_action( 'publish_book', 'post_published_notification', 10, 2 );
transition_post_status
vous aide à effectuer tous les types de publication et à passer d'un statut à un autre, par exemple en attente de publication. ou nouvelle publication.
Voici la version officielle WordPress Codec Page .
function on_all_status_transitions( $new_status, $old_status, $post )
{
if ( $new_status != $old_status ) {
// A function to perform actions any time any post changes status.
}
if ( $new_status != 'publish' ) {
// A function to perform action when new post published.
}
}
add_action( 'transition_post_status', 'on_all_status_transitions', 10, 3 );
J'espère que cela aidera universellement tous les types de publication personnalisés et types de publication par défaut.
s_ha_dum - tu avais raison c'est un crochet approprié - mon mauvais.
J'ai vérifié la table de base de données sur l'autre blog et le message a effectivement été copié - il ne s'affiche pas dans la liste des administrateurs pour les événements sur l'autre site. Je vais donc devoir comprendre pourquoi le message copié ne s'affiche pas dans la liste.
Les statuts de poste disponibles sont:
Vous pouvez créer des événements par transitions de statut de publication en fonction de vos besoins.