WPML
סטטוס
נפתר על ידי המפתח
דווח עבור
WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
תוסף/ערכת עיצוב קשורים
BuddyBoss Platform
תגיות נושא
Compatibility

סקירה כללית של התקלה

יש חוסר עקביות במיון האלפביתי של שדות טקסונומיה מתורגמים בדפי הפרופיל של BuddyBoss. בעוד ששדות שפת ברירת המחדל ממוינים כראוי, השדות המתורגמים אינם שומרים על סדר זה.

פתרון עוקף

אנא ודא שיש לך גיבוי מלא של האתר לפני שתמשיך.


  • פתח את הקובץ …/wp-content/plugins/buddyboss-platform/bp-xprofile/classes/class-bp-xprofile-field-type-selectbox.php.

  • בתוך BP_XProfile_Field_Type_Selectbox::edit_field_options_html(), החלף את השורה הבאה:
    echo $html;

  • ב:
    // WPML Workaround for compsupp-7514
    if ( class_exists('Sitepress') && apply_filters('wpml_default_language', NULL ) != apply_filters( 'wpml_current_language', NULL ) ) {
    	// Match all options
    	preg_match_all('/<option(.*?)>(.*?)<\/option>/s', $html, $matches, PREG_SET_ORDER);
    
    	// Extract the options into an array
    	$optionsArray = [];
    	foreach ($matches as $match) {
    		$optionsArray[] = [
    			'full' => $match[0],
    			'attributes' => $match[1],
    			'text' => $match[2],
    		];
    	}
    
    	// Sort the array by the 'text' element
    	usort($optionsArray, function($a, $b) {
    		return strcmp($a['text'], $b['text']);
    	});
    
    	// Rebuild the HTML string
    	$sortedHtml = '';
    	foreach ($optionsArray as $option) {
    		$sortedHtml .= sprintf('<option%s>%s</option>', $option['attributes'], $option['text']);
    	}
    
    	$html = $sortedHtml;
    }
    
    echo $html;

כל התקלות הידועות →