wp_is_post_revision()

Définition : wp_is_post_revision() détermine si un identifiant ou objet WordPress désigne une révision de publication. Elle retourne alors l’identifiant du contenu parent, ou false lorsque le contenu testé n’est pas une révision.

Terminologie

Terme officiel : wp_is_post_revision()

Autres appellations : Détection de révision

À quoi cela sert

Elle permet d’éviter de traiter une version de travail comme une publication ordinaire lorsque des traitements personnalisés réagissent aux enregistrements.

Comment cela fonctionne

WordPress possède un type de publication interne pour les révisions. La fonction identifie leur relation parentale et fournit l’ID du contenu d’origine si la donnée examinée est une révision.

Dans quel contexte l’utiliser

À vérifier dans les routines de sauvegarde qui ne doivent pas dupliquer des changements de métadonnées lors d’une révision.

Exemple concret

Un module de suivi ne doit enregistrer une opération métier qu’au moment de la modification du contenu principal.

Exemple de code commenté

Extrait pédagogique PHP pour extension WordPress : adapter au contexte et tester sur un environnement de développement avant tout usage.

<?php
add_action( 'save_post', function ( $post_id ) {
    if ( wp_is_post_revision( $post_id ) ) {
        return; // Ignorer les objets révision.
    }
    if ( ! current_user_can( 'edit_post', $post_id ) ) {
        return;
    }
    // Continuer seulement avec un formulaire et un nonce valides.
} );

Explication pas à pas de l’exemple

1. Le hook save_post fournit l’identifiant. 2. wp_is_post_revision() rejette les révisions. 3. Une capacité de modification est contrôlée. 4. Les conditions de sauvegarde devront être complétées.

Résultat attendu

Le traitement ignore les objets révision, et ne poursuit pour les contenus ordinaires que si les contrôles disponibles réussissent.

Mise en pratique guidée

Modifier plusieurs fois un article de test et examiner les objets de révision créés par WordPress. Comparer le retour de wp_is_post_revision() pour l’ID de l’article et pour l’ID d’une révision. Le résultat permet de décider si un traitement de notification doit ignorer la version de travail sans bloquer le contenu principal.

Précautions et limites

Un save_post peut être déclenché dans plusieurs situations. Éviter de supposer qu’une révision et une sauvegarde automatique représentent le même objet.

À ne pas confondre

wp_is_post_revision() détecte les révisions ; wp_is_post_autosave() cible spécifiquement les sauvegardes automatiques.

Termes associés

  • wp_is_post_autosave()
  • save_post

Références officielles

Bouton retour en haut de la page