2017-08-09 76 views
0

在FacetWP插件(適用於Wordpress)我想在「價格」之後對結果進行排序,因此我添加了一個新的自定義過濾器,在他們的文檔中進行了描述。目前,排序結果看起來像這樣:FacetWP排序價格

  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嗎? 然後你需要告訴它它是一個數字。也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', 
    ) 
);