Сортировать цену в FacetWP

В плагине FacetWP (для WordPress) я хочу отсортировать результаты по «цене», поэтому я добавил новый пользовательский фильтр, описанный в их документации. В настоящее время результаты сортировки выглядят так:

  1. 4,450 €
  2. 399 €
  3. 3.990 €

Я думаю, код не распознает последнее нулевое значение.
Это мой код:

add_filter( 'facetwp_sort_options', function( $options, $params ) {
$options['price_desc'] = array(
'label' => 'Price (Highest)',
'query_args' => array(
'orderby' => 'price',
'meta_key' => 'price',
'order' => 'DESC',
)
);
return $options;
}, 10, 2 );

Уже опробовал функцию «usort» и альтернативное значение «price_raw_short» (предоставленное mobile.de) безрезультатно.

0

Решение

У вас есть Woocommerce?
Тогда вам нужно сказать, что это число. Также мета-ключ _price

Пример сортировки по возрастанию и по убыванию:

$options['price'] = array(
'label' => __( 'Price: low to high', 'woocommerce' ),
'query_args' => array(
'orderby' => 'meta_value_num',
'meta_key' => '_price',
'order' => 'asc',
)
);

$options['price-desc'] = array(
'label' => __( 'Price: high to low', 'woocommerce' ),
'query_args' => array(
'orderby' => 'meta_value_num',
'meta_key' => '_price',
'order' => 'desc',
)
);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]