1. Accueil
  2. Docs
  3. Doc technique
  4. Doc technique (v6)
  5. Hooks et filtres d’import (v6)

Hooks et filtres d’import (v6)

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 :

  1. Récupère les données JSON de la fiche depuis l’API Apidae
  2. Parse et normalise ces données
  3. Crée ou met à jour le post WordPress correspondant
  4. Importe les médias associés (images, vidéos, documents)
  5. Applique les taxonomies (communes, thèmes, distinctions…)
  6. 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é par wp-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 );

Aller plus loin

Étiquettes