- Stato
- Risolto dall’autore
- Segnalato per
- WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
- Risolto in
- BuddyBoss Platform 2.5.70
- Plugin/tema correlato
- BuddyBoss Platform, BuddyBoss Theme
- Tag dell’argomento
- Compatibility
Panoramica del problema
Se utilizzi BuddyBoss, potresti notare che il selettore di lingua non mostra le icone delle bandiere, visualizzando invece solo icone vuote. Questo problema interessa sia i selettori di lingua del menu superiore che quelli del pannello laterale.
Soluzione alternativa
Assicurati di avere un backup completo del tuo sito prima di procedere.
Per correggere il pannello di BuddyBoss:
- Apri il file …/wp-content/themes/buddyboss-theme/inc/theme/functions.php.
- Cerca la riga 582.
- Sostituisci:
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; } - Con:
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; } - Nello stesso file, intorno alla riga 895, sostituisci:
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>"; } } - Con:
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>"; } } }
Per correggere il selettore di lingua nel menu dell’intestazione di BuddyBoss:
- Nello stesso file, intorno alla riga 1056.
- Subito prima di:
if ( ! $icon ) { $classes[] = 'no-icon'; - Aggiungi:
// WPML Workround for compsupp-7139 if (in_array( 'wpml-ls-item', $item->classes)) { $icon = 'bb-icon-globe'; }