Сортировать цену в 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) безрезультатно.


person dmnktoe    schedule 09.08.2017    source источник


Ответы (1)


У вас есть 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',
    )
);
person Spyros    schedule 12.10.2017