WPML

Visão geral do problema

Há uma inconsistência na ordenação alfabética dos campos de taxonomia traduzidos nas páginas de perfil do BuddyBoss. Enquanto os campos do idioma padrão são ordenados corretamente, os campos traduzidos não mantêm essa ordem.

Solução alternativa

Este problema foi corrigido. Atualizar para a versão mais recente resolve isso no seu site, portanto, você só precisa desta solução alternativa se ainda não puder atualizar.

Por favor, certifique-se de ter um backup completo do seu site antes de prosseguir.

  • Abra o arquivo …/wp-content/plugins/buddyboss-platform/bp-xprofile/classes/class-bp-xprofile-field-type-selectbox.php.
  • Dentro de BP_XProfile_Field_Type_Selectbox::edit_field_options_html(), substitua a seguinte linha:
    echo $html;
  • Por:
    // 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;

Todos os problemas conhecidos

Ainda está vendo este problema?

Se a atualização não resolver, envie uma dúvida de suporte e nós vamos analisar isso com você.