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()

Références officielles

Bouton retour en haut de la page