J'aimerais exécuter une requête personnalisée à l'aide de métadonnées chaque fois qu'une publication est mise à jour ou publiée.
Y at-il quelque chose que je peux mettre dans functions.php pour déclencher lorsque ces événements se produisent?
L'action save_post
est déclenchée lorsqu'une publication est mise à jour et/ou publiée, y compris lorsqu'une nouvelle publication est insérée.
<?php
add_action( 'save_post', 'wpse41912_save_post' );
function wpse41912_save_post()
{
// do stuff
}
Si vous souhaitez que vos fonctions ne soient activées que lorsqu'une publication est en cours d'édition, vous pouvez vous connecter à edit_post
.
Si vous voulez que le message soit envoyé lorsqu'une publication est déplacée du brouillon à la publication, vous pouvez vous connecter à transition_post_status
.
Vous pouvez utiliser plusieurs actions . Par exemple:
save_post
edit_post
publish_post
Bien que moins utilisé, il existe également des crochets de transition post-statut .
le hook edit_post est probablement le meilleur hook ... puisqu'il se déclenche à chaque publication/mise à jour d'une page/page. save_post est une autre option viable ... peut-être mieux si vous n'en avez pas besoin pour être activé lorsque les commentaires sont mis à jour.
http://codex.wordpress.org/Plugin_API/Action_Reference
la page save_post du codex contient un exemple de fonction qui se déclenche à chaque fois qu'une publication est enregistrée:
http://codex.wordpress.org/Plugin_API/Action_Reference/save_post
Si vous voulez exécuter une action quand une post-mise à jour/sauvegarde personnalisée -
add_action('save_post','save_post_callback');
function save_post_callback($post_id){
global $post;
if ($post->post_type != 'MY_CUSTOM_POST_TYPE_NAME'){
return;
}
//if you get here then it's your post type so do your things....
}