WPML
Status
Resolvido
Relatado para
WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
Resolvido em
BuddyPress Multilingual 1.8.0
Plugin/tema relacionado
BuddyPress

Visão geral do problema

O plugin BuddyPress permite que você crie novos campos de perfil que você pode traduzir usando o plugin de integração BuddyPress Multilingual do WPML. No entanto, mesmo que esses campos apareçam como traduzidos em WPMLTradução de Strings, essas traduções não são visíveis no front-end.

Solução alternativa

Por favor, certifique-se de fazer um backup completo do seu site antes de prosseguir.

  1. Adicione o seguinte código ao arquivo 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. Acesse a página de perfil no front-end. Isso registrará os campos para tradução.
  3. Vá para WPMLTradução de Strings e traduza os valores dos campos no domínio BuddyPress Profile Fields.
  4. Volte para a página de perfil no front-end. Os campos agora devem estar traduzidos.

Todos os problemas conhecidos →