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개 →