WPML
add_filter( 'wpml_import_get_trid_from_imported_translations', integer $trid, object $firstTranslation )
Tipo
filter
Categoría
Insertar contenido
Versión de WPML
4.9.4

Descripción

Este filtro es útil cuando importa traducciones sin su entrada de origen asociada (que ya está en el sitio). Permite que el código de terceros recupere un ID de registro de traducción (trid) para volver a conectar el contenido original con sus traducciones importadas.

Casos de uso:

- Los originales existen en el sitio (no importados), mientras que las traducciones se importan desde una fuente externa (hoja de cálculo o herramienta externa).

- Los originales se importaron previamente y se limpiaron sus metadatos de importación; las traducciones a nuevos idiomas se añaden más tarde.

- Cualquier flujo de trabajo donde las traducciones deban conectarse a los originales mediante una clave comercial compartida (SKU, slug, ID externo, etc.).

Argumentos

$trid (int|null)

El trid resuelto por el importador, o null si no se encontró ninguno.

$firstTranslation (object)

El primer objeto de la entrada de traducción, con las propiedades: element_id, translation_group, language_code, source_language_code.

Ejemplo de uso

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

Los 10 hooks de Insertar contenido →