在 FacetWP 中排序价格
Sort price in FacetWP
在 FacetWP 插件(适用于 Wordpress)中,我想在 'price' 之后对结果进行排序,因此我添加了一个新的自定义过滤器,如其文档中所述。目前,排序结果如下所示:
- 4.450 欧元
- 399 欧元
- 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 提供)但没有效果。
你有 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',
)
);
在 FacetWP 插件(适用于 Wordpress)中,我想在 'price' 之后对结果进行排序,因此我添加了一个新的自定义过滤器,如其文档中所述。目前,排序结果如下所示:
- 4.450 欧元
- 399 欧元
- 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 提供)但没有效果。
你有 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',
)
);