save_post
Définition : save_post est une action WordPress déclenchée après l’enregistrement d’une publication. Elle fournit l’identifiant, l’objet WP_Post et un indicateur précisant si le contenu existait déjà lors de l’opération.
Terminologie
Terme : save_post
Autres appellations : Sauvegarde de publication, Post Saved Hook
À quoi cela sert
Le hook peut intervenir lors de créations, modifications ou importations de contenus, dans divers contextes d’administration ou d’automatisation. Les révisions et sauvegardes automatiques peuvent conduire à des appels qui ne correspondent pas à l’intention d’un formulaire personnalisé.
Dans quel contexte l’utiliser
L’utiliser pour synchroniser une donnée dérivée, mettre à jour une indexation ou déclencher un événement lié à une publication. Vérifier le type de contenu, les révisions, les capacités et les preuves d’intention applicables avant d’enregistrer des métadonnées.
Exemple concret
Une extension émet un événement interne lorsqu’un article déjà existant est modifié, sans relancer la sauvegarde de l’article.
Exemple de code commenté
<?php
add_action( 'save_post', function ( $post_id, $post, $update ) {
if ( wp_is_post_revision( $post_id ) || ! $update ) {
return;
}
if ( 'post' !== $post->post_type || ! current_user_can( 'edit_post', $post_id ) ) {
return;
}
do_action( 'atoolpha_article_modifie', $post_id );
}, 10, 3 );
Explication de l’exemple
Le callback reçoit les trois arguments, ignore les révisions et les autres types de contenu, puis délègue à une action personnalisée. Il n’appelle pas wp_update_post() et ne risque donc pas de provoquer une récursion de ce fait.
Précautions et limites
L’action ne garantit pas qu’une opération sur des métadonnées personnalisées a déjà été validée. Pour ces écritures, les contrôles de nonce, droits et assainissement restent nécessaires.
Termes associés
- WP_Post
- Accepted Args
- do_action()
