WPML
Status
Gelöst
Gemeldet für
WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
Gelöst in
BuddyPress Multilingual 1.8.0
Zugehöriges Plugin/Theme
BuddyPress

Übersicht über das Problem

Das BuddyPress-Plugin ermöglicht es Ihnen, neue Profilfelder zu erstellen, die Sie mit dem Glue-Plugin BuddyPress Multilingual von WPML übersetzen können. Selbst wenn diese Felder jedoch in WPMLString-Übersetzung als übersetzt angezeigt werden, sind diese Übersetzungen im Frontend nicht sichtbar.

Problemumgehung

Bitte erstellen Sie ein vollständiges Backup Ihrer Website, bevor Sie fortfahren.

  1. Fügen Sie den folgenden Code zur Datei functions.php hinzu.
     //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. Rufen Sie die Profilseite im Frontend auf. Dadurch werden die Felder für die Übersetzung registriert.
  3. Gehen Sie zu WPMLString-Übersetzung und übersetzen Sie die Feldwerte unter der Domäne BuddyPress Profile Fields.
  4. Gehen Sie zurück zur Profilseite im Frontend. Die Felder sollten nun übersetzt sein.

Alle bekannten Probleme →