WPML
ステータス
解決済み
報告対象
WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
解決されたバージョン
BuddyPress Multilingual 1.8.0
関連するプラグイン/テーマ
BuddyPress

問題の概要

BuddyPressプラグインでは、新規プロフィールフィールドを作成し、WPMLのBuddyPress Multilingualグループラグインを使用して翻訳することができます。しかし、これらのフィールドがWPML文字列翻訳で翻訳済みとして表示されても、その翻訳はフロントエンドには表示されません。

回避策

続行する前に、必ずサイトの完全なバックアップを作成してください。

  1. 以下のコードをfunctions.phpファイルに追加します。
     //WPML Workaround wpml_compsupp6144
    add_filter( 'bp_get_the_profile_field_value', 'wpml_compsupp6144_translate_buddypress_profile_fields', 10, 3 ); 
     
    function wpml_compsupp6144_translate_buddypress_profile_fields( $value, $type, $id ) {
         
        if ($type == 'textbox' || $type == 'wp-textbox' || $type == 'wp-biography') {
            //remove html tags from value and limit it's size, so we can use it as string name
            $filtered_value = substr(strip_tags($value), 0, 60);
            //register string
            do_action( 'wpml_register_single_string', 'BuddyPress Profile Fields', $type.' - '.$filtered_value , $value );
            //translate string
            $value = apply_filters('wpml_translate_single_string', $value, 'BuddyPress Profile Fields', $type.' - '.$filtered_value  );
        }   
        
        return $value;
    } 
  2. フロントエンドのプロフィールページにアクセスします。これにより、フィールドが翻訳用に登録されます。
  3. WPML文字列翻訳に移動し、BuddyPress Profile Fieldsドメインにあるフィールド値を翻訳します。
  4. フロントエンドのプロフィールページに戻ります。これでフィールドが翻訳されているはずです。

すべての既知の問題 →