WPML
Status
Vom Autor gelöst
Gemeldet für
WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
Gelöst in
BuddyBoss Platform 2.5.70
Zugehöriges Plugin/Theme
BuddyBoss Platform, BuddyBoss Theme
Themen-Tags
Compatibility

Übersicht über das Problem

Wenn Sie BuddyBoss verwenden, stellen Sie möglicherweise fest, dass im Sprachumschalter die Flaggensymbole fehlen und stattdessen nur leere Symbole angezeigt werden. Dieses Problem betrifft sowohl die Sprachumschalter im oberen Menü als auch im Seitenbereich.

Problemumgehung

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

So korrigieren Sie das BuddyBoss-Panel:


  • Öffnen Sie die Datei …/wp-content/themes/buddyboss-theme/inc/theme/functions.php.

  • Suchen Sie nach Zeile 582.

  • Ersetzen Sie:
    function bb_buddypanel_menu_atts( $atts, $item, $args ) {
    	if (
    		isset( $args->theme_location ) &&
    		(
    			'buddypanel-loggedin' === $args->theme_location ||
    			'buddypanel-loggedout' === $args->theme_location
    		)
    	) {
    		$atts['class'] = 'bb-menu-item';
    
    		$header = (int) buddyboss_theme_get_option( 'buddyboss_header' );
    		if ( 3 === $header ) {
    			$buddypanel_side = buddyboss_theme_get_option( 'buddypanel_position_h3' );
    		} else {
    			$buddypanel_side = buddyboss_theme_get_option( 'buddypanel_position' );
    		}
    
    		if ( $buddypanel_side && $buddypanel_side == 'right' ) {
    			$atts['data-balloon-pos'] = 'left';
    		} else {
    			$atts['data-balloon-pos'] = 'right';
    		}
    		$atts['data-balloon'] = $item->title;
    	}
    
    	return $atts;
    }

  • Durch:
    function bb_buddypanel_menu_atts( $atts, $item, $args ) {
    	if (
    		isset( $args->theme_location ) &&
    		(
    			'buddypanel-loggedin' === $args->theme_location ||
    			'buddypanel-loggedout' === $args->theme_location
    		)
    	) {
    		$atts['class'] = 'bb-menu-item';
    
    		$header = (int) buddyboss_theme_get_option( 'buddyboss_header' );
    		if ( 3 === $header ) {
    			$buddypanel_side = buddyboss_theme_get_option( 'buddypanel_position_h3' );
    		} else {
    			$buddypanel_side = buddyboss_theme_get_option( 'buddypanel_position' );
    		}
    
    		if ( $buddypanel_side && $buddypanel_side == 'right' ) {
    			$atts['data-balloon-pos'] = 'left';
    		} else {
    			$atts['data-balloon-pos'] = 'right';
    		}
    		$atts['data-balloon'] = $item->title;
    		// WPMl workaround for compsupp-7115
    		if (class_exists('Sitepress')) {
    			$atts['data-balloon'] = wp_strip_all_tags($item->title);
    		}
    	}
    
    	return $atts;
    }
  • Ersetzen Sie in derselben Datei in etwa Zeile 895:
    if ( ! $icon ) {
    	if ( in_array( 'bp-menu', $item->classes ) ) {
    		if ( 'bp-profile-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-user';
    		} elseif ( 'bp-settings-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-cog';
    		} elseif ( 'bp-activity-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-activity';
    		} elseif ( 'bp-notifications-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-bell';
    		} elseif ( 'bp-messages-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-inbox';
    		} elseif ( 'bp-friends-nav' === $item->classes[1] || 'bp-friends-sub-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-user-friends';
    		} elseif ( 'bp-groups-nav' === $item->classes[1] || 'bp-groups-sub-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-users';
    		} elseif ( 'bp-forums-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-comments-square';
    		} elseif ( 'bp-videos-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-video';
    		} elseif ( 'bp-documents-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-folder-alt';
    		} elseif ( 'bp-photos-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-image';
    		} elseif ( 'bp-invites-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-envelope';
    		} elseif ( 'bp-logout-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-sign-out';
    		} elseif ( 'bp-login-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-sign-in';
    		} elseif ( 'bp-register-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-clipboard';
    		} elseif ( 'bp-courses-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-graduation-cap';
    		}
    	}
    	if ( ! $icon ) {
    		$item->title = "<i class='bb-icon-file'></i><span class='link-text'>{$item->title}</span>";
    	} else {
    		$item->title = "<i class='_mi _before buddyboss bb-icon-l " . $icon . "'></i><span class='link-text'>{$item->title}</span>";
    	}
    }
  • Durch:
    if ( ! $icon ) {
    	if ( in_array( 'bp-menu', $item->classes ) ) {
    		if ( 'bp-profile-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-user';
    		} elseif ( 'bp-settings-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-cog';
    		} elseif ( 'bp-activity-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-activity';
    		} elseif ( 'bp-notifications-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-bell';
    		} elseif ( 'bp-messages-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-inbox';
    		} elseif ( 'bp-friends-nav' === $item->classes[1] || 'bp-friends-sub-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-user-friends';
    		} elseif ( 'bp-groups-nav' === $item->classes[1] || 'bp-groups-sub-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-users';
    		} elseif ( 'bp-forums-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-comments-square';
    		} elseif ( 'bp-videos-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-video';
    		} elseif ( 'bp-documents-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-folder-alt';
    		} elseif ( 'bp-photos-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-image';
    		} elseif ( 'bp-invites-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-envelope';
    		} elseif ( 'bp-logout-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-sign-out';
    		} elseif ( 'bp-login-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-sign-in';
    		} elseif ( 'bp-register-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-clipboard';
    		} elseif ( 'bp-courses-nav' === $item->classes[1] ) {
    			$icon = 'bb-icon-graduation-cap';
    		}
    	}
    
    	// WPML Workround for compsupp-7115
    	elseif (in_array( 'wpml-ls-item', $item->classes)) {
    		$icon = 'bb-icon-globe';
    	}
    
    	if ( ! $icon ) {
    		$item->title = "<i class='bb-icon-file'></i><span class='link-text'>{$item->title}</span>";
    	} else {
    		if (! preg_match('/<img/', $item->title) ) {
    			$item->title = "<i class='_mi _before buddyboss bb-icon-l " . $icon . "'></i><span class='link-text'>{$item->title}</span>";
    		}
    	}
    }

So korrigieren Sie den Sprachumschalter im BuddyBoss-Header-Menü:

  • In derselben Datei, in etwa Zeile 1056.
  • Direkt vor:
    		if ( ! $icon ) {
    			$classes[] = 'no-icon';
  • Fügen Sie Folgendes hinzu:
    		// WPML Workround for compsupp-7139
    		if (in_array( 'wpml-ls-item', $item->classes)) {
    			$icon = 'bb-icon-globe';
    		}	

Alle bekannten Probleme →