J'ajoute quelques champs de saisie au formulaire de commentaire, et ces nouvelles données sont stockées dans la table commentmeta. Lorsqu'un commentaire est supprimé, les données sur commentmeta sont toujours présentes.
Comment puis-je supprimer ces données lorsqu'un commentaire est supprimé? (J'ai besoin d'une action similaire à delete_post mais pour les commentaires ... est-ce qu'elle existe?)
Regardez la fonction wp_delete_comment()
. Il déclenche une action avant la suppression du commentaire:
/**
* Fires immediately before a comment is deleted from the database.
*
* @since 1.2.0
*
* @param int $comment_id The comment ID.
*/
do_action( 'delete_comment', $comment_id );
… Et un après suppression:
/**
* Fires immediately after a comment is deleted from the database.
*
* @since 2.9.0
*
* @param int $comment_id The comment ID.
*/
do_action( 'deleted_comment', $comment_id );
Donc, vous pouvez lier votre rappel à cela:
add_action( 'deleted_comment', function( $comment_id ) {
delete_comment_meta( $comment_id, 'your_meta_key' );
} );