- 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 WPML → Traduçã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.
- 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; } - Acesse a página de perfil no front-end. Isso registrará os campos para tradução.
- Vá para WPML → Tradução de Strings e traduza os valores dos campos no domínio BuddyPress Profile Fields.
- Volte para a página de perfil no front-end. Os campos agora devem estar traduzidos.