在FacetWP中排序价格

时间:2017-08-09 17:16:50

标签: php wordpress sorting zero

在FacetWP插件中(对于Wordpress)我想在' price'之后对结果进行排序,所以我添加了一个新的自定义过滤器,在他们的文档中有描述。目前,排序结果如下所示:

  1. 4.450€
  2. 399€
  3. 3.990€
  4. 我认为,代码无法识别最后的零值。 这是我的代码:

    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提供)没有效果。

1 个答案:

答案 0 :(得分:0)

你有Woocommerce吗? 然后你需要告诉它它是一个数字。 meta_key也是_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',
    )
);