WPML
ステータス
開発者からの返答待ち
関連するプラグイン/テーマ
Soho Hotel

問題の概要

WPMLでSoho Hotelテーマを使用する場合、デフォルト言語で宿泊施設に適用されたシーズン料金は、翻訳された宿泊施設にコピーされません。

回避策

この問題を解決する回避策として、以下の手順に従ってください。

  1. WPML設定カスタムフィールド翻訳に移動し、カスタムフィールドshb_pricingコピーに設定します。
  2. テーマの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);
  3. 元のAccommodationとその翻訳を更新します。

次のステップ

この問題はテーマのコーディング方法に関連しているため、Soho Hotelのテーマ開発者側で解決する必要があります。何度か連絡を取っていますが、まだ開発者からの協力を得られていません。

この問題が発生しており、開発者に解決を促したい場合は、プライベートサポートフォーラムから開発者にお問い合わせください。

すべての既知の問題 →