- ステータス
- 開発者からの返答待ち
- 関連するプラグイン/テーマ
- Soho Hotel
問題の概要
WPMLでSoho Hotelテーマを使用する場合、デフォルト言語で宿泊施設に適用されたシーズン料金は、翻訳された宿泊施設にコピーされません。
回避策
この問題を解決する回避策として、以下の手順に従ってください。
- WPML → 設定 → カスタムフィールド翻訳に移動し、カスタムフィールドshb_pricingをコピーに設定します。
- テーマのfunctions.phpファイルに以下のコードスニペットを追加します。
add_action( 'wpml_after_copy_custom_field', function($post_id_from, $post_id_to, $meta_key){ if ($meta_key == 'shb_pricing') { $translated_lang = apply_filters( 'wpml_post_language_details', '', $post_id_to ); $translated_lang = isset($translated_lang['language_code']) ? $translated_lang['language_code'] : ''; $original_value = get_post_meta($post_id_from, 'shb_pricing', true); $translated_value = $original_value; if (!empty($original_value) && is_array($original_value)) { foreach ($original_value as $key => $value) { $session_id = intval(substr($key, 7)); if ( !empty($session_id) ) { $session_id = apply_filters( 'wpml_object_id', $session_id, 'shb_season', false, $translated_lang ); $translated_value['season_' . $session_id] = $translated_value[$key]; unset($translated_value[$key]); } } update_post_meta($post_id_to, 'shb_pricing', $translated_value); } } }, 10, 3); - 元のAccommodationとその翻訳を更新します。
次のステップ
この問題はテーマのコーディング方法に関連しているため、Soho Hotelのテーマ開発者側で解決する必要があります。何度か連絡を取っていますが、まだ開発者からの協力を得られていません。
この問題が発生しており、開発者に解決を促したい場合は、プライベートサポートフォーラムから開発者にお問い合わせください。