delete_post_meta()
Définition : delete_post_meta() supprime une ou plusieurs valeurs de métadonnée rattachées à une publication WordPress. La clé est obligatoire ; une valeur peut être fournie pour cibler plus précisément la suppression.
Terminologie
Terme officiel : delete_post_meta()
Autres appellations : Suppression d’une métadonnée
À quoi cela sert
Elle permet de nettoyer une donnée devenue inutile, par exemple un drapeau temporaire de validation, sans supprimer le contenu auquel elle est associée.
Comment cela fonctionne
WordPress cherche les métadonnées du post portant la clé indiquée. Si aucun quatrième argument n’est fourni, toutes les valeurs associées à la clé peuvent être supprimées ; avec une valeur, la suppression est plus ciblée.
Dans quel contexte l’utiliser
Employer cette opération lors d’une action explicite et autorisée : retrait d’une option de contenu, nettoyage métier ou migration documentée.
Exemple concret
Un administrateur souhaite retirer uniquement la référence interne d’un article qui ne doit plus être classé dans une procédure.
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
$post_id = 123;
// Extrait de traitement : nonce et requête vérifiés en amont.
if ( current_user_can( 'edit_post', $post_id ) ) {
delete_post_meta( $post_id, '_atoolpha_reference' );
}
Explication pas à pas de l’exemple
1. Un traitement autorisé choisit le post. 2. Le droit edit_post est contrôlé. 3. La clé _atoolpha_reference est supprimée pour ce post. 4. Le contenu principal reste inchangé.
Résultat attendu
Après suppression, get_post_meta() ne trouvera plus la référence, à condition qu’aucun autre processus ne la recrée.
Mise en pratique guidée
Ajouter deux valeurs sous une même clé dans un article de test. Essayer d’abord la suppression ciblée par valeur, puis une suppression sans valeur. Comparer les résultats avec get_post_meta(…, false). Ce contrôle montre pourquoi il faut connaître la cardinalité réelle de la clé avant une opération destructrice.
Précautions et limites
La suppression sans valeur correspondante peut effacer plusieurs entrées de même clé. Ne jamais lier cette opération à une requête GET non protégée.
À ne pas confondre
delete_post_meta() efface une donnée associée ; wp_delete_post() supprime le post ; delete_option() retire un réglage global.
Termes associés
- get_post_meta()
- update_post_meta()
