WPML
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 WPMLTraducció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.

  1. 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;
    } 
  2. Visite la página de perfil en el front-end. Esto registrará los campos para su traducción.
  3. Vaya a WPMLTraducción de cadenas y traduzca los valores de los campos bajo el dominio BuddyPress Profile Fields.
  4. Vuelva a la página de perfil en el front-end. Los campos ahora deberían estar traducidos.

Todos los problemas conocidos →