Un save_post hook est exécuté lorsque vous enregistrez une publication. En fait, les révisions et les sauvegardes automatiques appellent également ce crochet. Même si vous changez simplement le statut publié à brouillon, cela déclenche le hook save_post
.
Existe-t-il un moyen (utilisant les méthodes wp normales) qu'un post puisse être modifié sans appeler save_post
? (comme l'édition de champs personnalisés)
Je me demande si je dois relier transition_post_status
ou updated_postmeta
ou si save_post
est suffisant.
TL; DR: Non, vous pouvez utiliser save_post
. Sauf si vous envisagez une modification programmatique deonlymetadata "modifier un message".
Il existe (théoriquement) un moyen de modifier une publication sans déclencher le hook save_post
action: Modification directe de la base de données.
Mais pour quelqu'un, aucun auteur de thème ni de plug-in ne ferait ce choix et, pour un autre, il contournerait également tous les autres crochets d'action possibles.
Les autres points que vous mentionnez concernent des cas d'utilisation totalement différents:update_post_meta
ou updated_postmeta
s’exécutent uniquement lorsque les métadonnées sont modifiées, c’est-à-dire que seuls le titre ou le contenu sont modifiés.transition_post_status
ne fonctionnera pas si un article publié est simplement édité.
Iffvous considérez que les mises à jour programmées des métadonnées de publication sont une modification de la publication elle-même que vous devrez effectivement relier au update_post_meta
hook ou à un autre. Le update_post_meta()
appelle la fonction update_metadata()
( source sur trac ) qui exécutera plusieurs points d’accrochage (voir source liée), mais pas save_post
.