- Trạng thái
- Đã được giải quyết bởi nhà phát triển
- Được báo cáo cho
- WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
- Đã giải quyết trong
- BuddyBoss Platform 2.5.70
- Plugin/giao diện liên quan
- BuddyBoss Platform, BuddyBoss Theme
- Thẻ chủ đề
- Compatibility
Tổng quan về lỗi
Nếu bạn đang sử dụng BuddyBoss, bạn có thể nhận thấy rằng bộ chuyển đổi ngôn ngữ bị thiếu các biểu tượng cờ, thay vào đó chỉ hiển thị các biểu tượng trống. Vấn đề này ảnh hưởng đến bộ chuyển đổi ngôn ngữ ở cả menu trên cùng và bảng điều khiển bên.
Giải pháp tạm thời
Vui lòng đảm bảo bạn có bản sao lưu toàn bộ trang web của mình trước khi tiếp tục.
Để sửa lỗi bảng điều khiển BuddyBoss:
- Mở tệp …/wp-content/themes/buddyboss-theme/inc/theme/functions.php.
- Tìm dòng 582.
- Thay thế:
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; } - Bằng:
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; } - Trong cùng tệp đó ở khoảng dòng 895, thay thế:
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>"; } } - Bằng:
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>"; } } }
Để sửa bộ chuyển đổi ngôn ngữ trên menu header của BuddyBoss:
- Trong cùng tệp đó, khoảng dòng 1056.
- Ngay trước:
if ( ! $icon ) { $classes[] = 'no-icon'; - Thêm:
// WPML Workround for compsupp-7139 if (in_array( 'wpml-ls-item', $item->classes)) { $icon = 'bb-icon-globe'; }