Если вы ищете способ естественной сортировки терминов/атрибутов товаров в WooCommerce или даже категорий, я придумал способ сортировать все в естественном порядке. Например, у вас есть атрибуты в ваших продуктах, которые представляют собой список, скажем, чисел. Ваш список может выглядеть следующим образом:
- 1
- 2
- 205
- 102
- 110
Что произойдет, список будет отображаться как (сортировка по умолчанию):
- 1
- 2
- 102
- 110
- 205
Для того, чтобы отсортировать список в естественном порядке, как это:
- 1
- 2
- 102
- 110
- 205
Вам просто нужно будет преобразовать результаты get_terms() в массив, а затем отсортировать его соответствующим образом.
'ASC',
'orderby' => 'name',
'hide_empty' => true,
);
$filter = get_terms( 'pa_filter', $args );
foreach ( $filter as $term ) {
$sort_terms[$term->name] = $term;
}
uksort( $sort_terms, 'strnatcmp');
foreach ($sort_terms as $term) {
//If you want to display an option list
echo "";
}
Фото автора Эдуард Гранде вкл. Снять пленку
Оригинал: “https://dev.to/mavrakisk/natural-sort-terms-in-woocommerce–wordpress-3m56”