Cette référence recense les hooks et filtres invoqués par le pipeline d’import de WP-Apidae v6. Utilisez-les pour réagir à l’insertion / mise à jour / suppression d’une fiche Apidae, ou pour modifier les données importées avant persistance.
Cycle d’import d’une fiche
À chaque fiche Apidae importée, WP-Apidae :
- Récupère les données JSON de la fiche depuis l’API Apidae
- Parse et normalise ces données
- Crée ou met à jour le post WordPress correspondant
- Importe les médias associés (images, vidéos, documents)
- Applique les taxonomies (communes, thèmes, distinctions…)
- Réindexe la fiche dans la table
wpdae_index
À chaque étape, des hooks sont disponibles.
Actions principales
wp-apidae/create_post/after_insert_post
Déclenchée après l’insertion ou la mise à jour d’un post généré à partir d’une fiche Apidae (v6).
do_action( 'wp-apidae/create_post/after_insert_post', $insert_post_id, $selection_id );
Paramètres : $insert_post_id (int, ID du post WordPress) et $selection_id (int, ID de la sélection Apidae d’origine).
Remplace l’ancien hook v5 apidae_after_resolve_content, désormais déprécié.
wp_apidae/entity_manager/end_process_post
Déclenchée à la fin complète du traitement d’un post (avec ou sans succès).
do_action( 'wp_apidae/entity_manager/end_process_post', $apidae_id, $selection_id, $insert_post_id );
apidae_imported_selection
Déclenchée une fois que tous les posts d’une sélection ont été importés.
do_action( 'apidae_imported_selection', $selection_id, $objects_ids );
$objects_ids est le tableau des IDs Apidae traités dans cette sélection.
apidae_remove_object_terms
Déclenchée avant la suppression des termes d’un post (par exemple lors d’un ré-import).
do_action( 'apidae_remove_object_terms', $post_id, $selection_slug );
Filtres principaux
wp-apidae/entity_manager/get_json
Modifier le JSON d’une fiche avant sa persistance en base. Permet d’enrichir, nettoyer ou transformer les données reçues d’Apidae.
$content = apply_filters( 'wp-apidae/entity_manager/get_json', $content, $this );
Paramètres : $content (array, données JSON de la fiche), $this (instance de WPDAE_Create_Post).
wp-apidae/images-manager/illustrations
Filtrer la liste des illustrations (images principales) à importer pour une fiche.
$filtered_images = apply_filters( 'wp-apidae/images-manager/illustrations', $filtered_images, $this->post_id );
wp-apidae/multimedia-manager/multimedias
Filtrer la liste des médias multimédia (vidéos, documents) à importer.
$filtered_multimedias = apply_filters( 'wp-apidae/multimedia-manager/multimedias', $filtered_multimedias, $this->post_id );
wp-apidae/aspects
Filtrer la configuration des aspects Apidae (Hiver, Été, Handicap…) pour une fiche.
$configured_aspects = apply_filters( 'wp-apidae/aspects', $this->settings );
Hooks legacy (v5)
Certains hooks v5 restent fonctionnels en v6 via do_action_deprecated, mais génèrent un avertissement :
apidae_after_resolve_content→ remplacé parwp-apidae/create_post/after_insert_post
Migrez votre code vers les équivalents v6 dès que possible pour ne pas subir de rupture lors d’une évolution majeure.
Exemple pratique : enrichir une fiche à l’import
add_action( 'wp-apidae/create_post/after_insert_post', function( $post_id, $selection_id ) {
// Exemple : ajouter une meta custom avec la région déduite de la commune
$commune_terms = get_the_terms( $post_id, 'at_communes' );
if ( $commune_terms && ! is_wp_error( $commune_terms ) ) {
$region = wp_get_post_term_region( $commune_terms[0] );
update_post_meta( $post_id, '_region_apidae', $region );
}
}, 10, 2 );