- Estado
- Resuelto por el autor
- Notificado para
- WPML Multilingual for BuddyPress and BuddyBoss 1.7.0
- Plugin/tema relacionado
- BuddyBoss Platform
- Etiquetas de temática
- Compatibility
Resumen del problema
Hay una inconsistencia en el orden alfabético de los campos de taxonomía traducidos en las páginas de perfil de BuddyBoss. Mientras que los campos del idioma predeterminado se ordenan correctamente, los campos traducidos no mantienen este orden.
Solución alternativa
Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.
- Abra el archivo …/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(), reemplace la siguiente línea: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;