WPML
add_filter( 'wpml_import_get_trid_from_imported_translations', integer $trid, object $firstTranslation )
类型
filter
类别
插入内容
WPML 版本
4.9.4

说明

当您导入翻译而没有其关联的源文章(已存在于站点上)时,此过滤器非常有用。它允许第三方代码检索翻译记录 ID (trid),以便将原始内容与其导入的翻译重新关联。

用例:

- 原始内容存在于站点上(未导入),而翻译是从外部来源(电子表格或外部工具)导入的。

- 原始内容先前已导入,且其导入元数据已被清理;稍后添加新的语言翻译。

- 必须通过共享的业务键(SKU、别名、外部 ID 等)将翻译与原始内容关联的任何工作流

参数

$trid (int|null)

由导入程序解析的 trid,如果未找到则为 null。

$firstTranslation (object)

第一个翻译文章对象,包含以下属性:element_id、translation_group、language_code、source_language_code。

使用示例

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

所有 10 个 插入内容 钩子 →