- Status
- Resolvido pelo autor
- Relatado para
- WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
- Resolvido em
- BuddyBoss Platform 2.5.70
- Plugin/tema relacionado
- BuddyBoss Platform, BuddyBoss Theme
- Tags de tópico
- Compatibility
Visão geral do problema
Se você estiver usando o BuddyBoss, pode notar que o seletor de idiomas está sem os ícones de bandeira, exibindo apenas ícones em branco no lugar. Esse problema afeta os seletores de idiomas tanto do menu superior quanto do painel lateral.
Solução alternativa
Certifique-se de ter um backup completo do seu site antes de prosseguir.
Para corrigir o painel do BuddyBoss:
- Abra o arquivo …/wp-content/themes/buddyboss-theme/inc/theme/functions.php.
- Procure a linha 582.
- Substitua:
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; } - Por:
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; } - No mesmo arquivo, por volta da linha 895, substitua:
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>"; } } - Por:
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>"; } } }
Para corrigir o seletor de idiomas no menu de cabeçalho do BuddyBoss:
- No mesmo arquivo, por volta da linha 1056.
- Logo antes de:
if ( ! $icon ) { $classes[] = 'no-icon'; - Adicione:
// WPML Workround for compsupp-7139 if (in_array( 'wpml-ls-item', $item->classes)) { $icon = 'bb-icon-globe'; }