WPML
Statut
Résolu par l’auteur
Signalé pour
WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
Résolu dans
BuddyBoss Platform 2.5.70
Extension/thème associé
BuddyBoss Platform, BuddyBoss Theme
Étiquettes de sujet
Compatibility

Aperçu de l’anomalie

Si vous utilisez BuddyBoss, vous remarquerez peut-être que les icônes de drapeau sont absentes du sélecteur de langue, qui affiche uniquement des icônes vides à la place. Ce problème affecte les sélecteurs de langue du menu supérieur et du panneau latéral.

Solution de contournement

Veuillez vous assurer d’avoir une sauvegarde complète de votre site avant de continuer.

Pour corriger le panneau BuddyBoss :


  • Ouvrez le fichier …/wp-content/themes/buddyboss-theme/inc/theme/functions.php.

  • Cherchez la ligne 582.

  • Remplacez :
    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;
    }

  • Par :
    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;
    }
  • Dans le même fichier, vers la ligne 895, remplacez :
    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>";
    	}
    }
  • Par :
    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>";
    		}
    	}
    }

Pour corriger le sélecteur de langue dans le menu d’en-tête de BuddyBoss :

  • Dans le même fichier, vers la ligne 1056.
  • Juste avant :
    		if ( ! $icon ) {
    			$classes[] = 'no-icon';
  • Ajoutez :
    		// WPML Workround for compsupp-7139
    		if (in_array( 'wpml-ls-item', $item->classes)) {
    			$icon = 'bb-icon-globe';
    		}	

Toutes les anomalies connues →