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件) →