WPML
Stato
Risolto
Segnalato per
WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
Risolto in
BuddyPress Multilingual 1.8.0
Plugin/tema correlato
BuddyPress

Panoramica del problema

Il plugin BuddyPress ti permette di creare nuovi campi del profilo che puoi tradurre utilizzando il plugin di integrazione BuddyPress Multilingual di WPML. Tuttavia, anche se questi campi appaiono come tradotti in WPMLTraduzione stringhe, queste traduzioni non sono visibili nel front-end.

Soluzione alternativa

Assicurati di effettuare un backup completo del tuo sito prima di procedere.

  1. Aggiungi il seguente codice al file 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. Visita la pagina del profilo sul front-end. Questo registrerà i campi per la traduzione.
  3. Vai su WPMLTraduzione stringhe e traduci i valori dei campi nel dominio BuddyPress Profile Fields.
  4. Torna indietro alla pagina del profilo sul front-end. I campi dovrebbero ora essere tradotti.

Tutti i problemi noti →