add_filter( 'wpml_import_get_trid_from_imported_translations', integer $trid, object $firstTranslation )
- Tipo
- filter
- Categoria
- Inserimento di contenuti
- Versione di WPML
- 4.9.4
Descrizione
Questo filtro è utile quando importi traduzioni senza il relativo articolo di origine (che è già presente sul sito). Permette al codice di terze parti di recuperare un ID del record di traduzione (trid) per ricollegare il contenuto originale alle sue traduzioni importate.
Casi d’uso:
- Gli originali sono presenti sul sito (non importati), mentre le traduzioni vengono importate da una fonte esterna (foglio di calcolo o strumento esterno).
- Gli originali sono stati importati in precedenza e i loro meta di importazione sono stati ripuliti; le traduzioni in nuove lingue vengono aggiunte in seguito.
- Qualsiasi flusso di lavoro in cui le traduzioni devono essere collegate agli originali tramite una chiave aziendale condivisa (SKU, slug, ID esterno, ecc.).
Argomenti
$trid (int|null)Il trid risolto dall’importatore, o null se non ne è stato trovato nessuno.
$firstTranslation (object)
L’oggetto del primo articolo di traduzione, con le proprietà: element_id, translation_group, language_code, source_language_code.
Esempio di utilizzo
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 );
Hook correlati
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