- Estado
- Resuelto
- Notificado para
- WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
- Resuelto en
- BuddyPress Multilingual 1.8.0
- Plugin/tema relacionado
- BuddyPress
Resumen del problema
El plugin BuddyPress le permite crear nuevos campos de perfil que puede traducir mediante el plugin de integración BuddyPress Multilingual de WPML. Sin embargo, aunque esos campos aparezcan como traducidos en WPML → Traducción de cadenas, esas traducciones no son visibles en el front-end.
Solución alternativa
Por favor, asegúrese de hacer una copia de seguridad completa de su sitio antes de continuar.
- Añada el siguiente código al archivo 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; } - Visite la página de perfil en el front-end. Esto registrará los campos para su traducción.
- Vaya a WPML → Traducción de cadenas y traduzca los valores de los campos bajo el dominio BuddyPress Profile Fields.
- Vuelva a la página de perfil en el front-end. Los campos ahora deberían estar traducidos.