Quelle est la différence entre le hook WordPress « save post » et le « WP Insert Post » ?
Les hooks WordPress save_post
et wp_insert_post
sont deux actions différentes utilisées pour interagir avec le processus de sauvegarde ou d’insertion d’un article dans WordPress. Voici les distinctions principales :
1. save_post
- Quand est-il déclenché ?
- Ce hook est appelé après qu’un article a été sauvegardé ou mis à jour dans la base de données.
- Il se déclenche à chaque fois que vous sauvegardez un article, y compris lors de sa création initiale, d’une mise à jour ou de son enregistrement en brouillon.
- Paramètres passés au hook :
$post_id
: ID de l’article sauvegardé.$post
: Objet de l’article (WP_Post).$update
: Booléen indiquant si l’article a été mis à jour (true
) ou créé (false
).
- Utilisations courantes :
- Ajouter des métadonnées personnalisées après la sauvegarde d’un article.
- Déclencher des actions spécifiques après qu’un article est enregistré (exemple : envoyer une notification, mettre à jour un index de recherche, etc.).
- Exemple :
add_action(‘save_post’, ‘custom_save_post_handler’, 10, 3);
function custom_save_post_handler($post_id, $post, $update) {
// Ne pas exécuter pour les sauvegardes automatiques ou les révisions
if (defined(‘DOING_AUTOSAVE’) && DOING_AUTOSAVE) {
return;
}
if ($post->post_type !== ‘post’) {
return;
}// Ajouter une action personnalisée ici
update_post_meta($post_id, ‘_custom_meta_key’, ‘valeur personnalisée’);
}
-
-
- Points clés :
- Ce hook est souvent utilisé pour modifier ou ajouter des données supplémentaires après l’enregistrement.
- Il est possible de vérifier si l’article a été mis à jour ou inséré via le paramètre
$update
.
2. wp_insert_post
- Quand est-il déclenché ?
- Ce hook est appelé immédiatement avant ou après qu’un article a été inséré ou mis à jour dans la base de données.
- Il peut être utilisé avant que les métadonnées ou les taxonomies associées ne soient enregistrées.
- Paramètres passés au hook :
$post_id
: ID de l’article inséré ou mis à jour.$post
: Objet de l’article (WP_Post).$update
: Booléen indiquant si l’article a été mis à jour (true
) ou inséré (false
).
- Utilisations courantes :
- Modifier des données d’un article avant ou après l’insertion dans la base de données.
- Implémenter des contrôles ou des actions à un moment précis du processus d’insertion.
- Exemple :
add_action(‘wp_insert_post’, ‘custom_wp_insert_post_handler’, 10, 3);
function custom_wp_insert_post_handler($post_id, $post, $update) {
if ($post->post_type !== ‘post’) {
return;
}
// Exemple : enregistrer une action de journalisation
error_log(« Article {$post_id} inséré ou mis à jour. »);
}
- Points clés :
-
- Contrairement à
save_post
, ce hook intervient pendant le processus d’insertion et avant certaines étapes finales. - Les taxonomies et métadonnées peuvent ne pas être complètement enregistrées lorsque ce hook est déclenché.
- Contrairement à
Différences clés
Aspect | save_post |
wp_insert_post |
---|---|---|
Moment de déclenchement | Après la sauvegarde complète | Pendant le processus d’insertion |
Données accessibles | Article complet, métadonnées prêtes | Peut manquer certaines métadonnées ou taxonomies |
Utilisation principale | Actions post-sauvegarde | Contrôle ou modification durant l’insertion |
En résumé :
- Utilisez
save_post
si vous avez besoin de travailler avec un article après qu’il a été entièrement sauvegardé, en incluant ses métadonnées et taxonomies. - Utilisez
wp_insert_post
si vous devez intervenir au cours du processus d’insertion ou exécuter des actions spécifiques plus tôt dans ce cycle.
Testez notre Générateur de Logos
Créez gratuitement jusqu'à 3 logos professionnels avec notre IA.