WPML
add_filter( 'wpml_import_get_trid_from_imported_translations', integer $trid, object $firstTranslation )
Type
filter
Version de WPML
4.9.4

Description

Ce filtre est utile lorsque vous importez des traductions sans leur article source associé (qui est déjà sur le site). Il permet au code tiers de récupérer un ID d’enregistrement de traduction (trid) pour reconnecter le contenu d’origine avec ses traductions importées.

Cas d’utilisation :

- Les originaux existent sur le site (non importés), tandis que les traductions sont importées depuis une source externe (feuille de calcul ou outil externe).

- Les originaux ont été importés précédemment et leurs métadonnées d’importation ont été nettoyées ; les traductions dans de nouvelles langues sont ajoutées plus tard.

- Tout flux de travail où les traductions doivent être connectées aux originaux via une clé métier partagée (SKU, slug, ID externe, etc.).

Arguments

$trid (int|null)

Le trid résolu par l’importateur, ou null si aucun n’a été trouvé.

$firstTranslation (object)

Le premier objet article de traduction, avec les propriétés : element_id, translation_group, language_code, source_language_code.

Exemple d’utilisation

add_filter( 'wpml_import_get_trid_from_imported_translations', 
function( $trid, $firstTranslation ) {
if ( $trid ) {
return $trid;
}

$sku = get_post_meta( $firstTranslation->element_id, '_sku', true );
if ( ! $sku ) {
return $trid;
}

// Find the original post with the same SKU and return its trid.
$original_id = wc_get_product_id_by_sku( $sku );
if ( ! $original_id ) {
return $trid;
}

$details = apply_filters( 'wpml_element_language_details', null, [
'element_id' => $original_id,
'element_type' => 'post_product',
] );

return $details ? $details->trid : $trid;
}, 10, 2 );

wpml_set_element_language_details, wpml_make_post_duplicates, wpml_admin_make_post_duplicates, wpml_copy_post_to_language, wpml_delete_package, wpml_register_string, wpml_register_single_string, wpml_show_package_language_ui, wpml_delete_package_action

Les 10 hooks de la catégorie Insertion de contenu →