2015-01-21 77 views
1

我已經花了幾個小時昨天解決了我的問題,但它沒有奏效。 我想按價格(從低到高)對特定品牌的產品進行排序,所有其他排序選項都可以使用優質標題,編號等。但是我自己聲明$ arg regular_price不起作用。Woocommerce短訂單通過價格不起作用

我加入這個代碼在我的主題地圖的functions.php:

add_filter('woocommerce_shortcode_products_query', 'woocommerce_shortcode_products_orderby'); 
function woocommerce_shortcode_products_orderby($args) 
{ $standard_array = array('menu_order','title','date','rand','id');  
if(isset($args['orderby']) && !in_array($args['orderby'], $standard_array)) 
{ $args['regular_price'] = $args['orderby'];  
    $args['orderby'] = 'meta_value_num'; } 
    return $args;} 

而且我用這個簡碼:

[product_attribute attribute="merk" filter="bait footwear" per_page="80" columns="4" orderby="regular_price" order="asc"] 

其結果是在這裏: http://vintagekledingwinkel.nl/aanbiedingen/bait-footwear/

什麼我錯過了嗎?

回答

1

試試這個代碼:

add_filter('woocommerce_shortcode_products_query', 'woocommerce_shortcode_products_orderby'); 

    function woocommerce_shortcode_products_orderby($args) { 

     $standard_array = array('menu_order','title','date','rand','id'); 

     if(isset($args['orderby']) && !in_array($args['orderby'], $standard_array)) { 
      $args['meta_key'] = $args['orderby']; 
      $args['orderby'] = '_regular_price'; 
     } 

     return $args; 

    } 

,並使用下面的短代碼:

[product_attribute attribute="merk" filter="bait footwear" per_page="80" columns="4" orderby="_regular_price" order="asc"] 

讓我知道輸出。

+0

不幸的是,這給出了相同的輸出。 – 2015-01-21 15:23:05

+0

我錯了,這個作品!你非常感謝! – 2015-01-21 15:31:53

+0

您可以通過標記右側的符號來接受我的答案,以便其他任何人遇到類似的情況,然後他們會發現它很有用。 Happy Coding .. – 2015-01-22 04:31:30