Woocommerce短信订购价格不起作用

时间:2015-01-21 09:06:48

标签: wordpress woocommerce

我昨天花了好几个小时来解决我的问题,但它没有用。 我希望按价格(从低到高)对特定品牌的产品进行排序,所有其他排序选项都可以正常使用标题,ID等。但我自己声明$ arg regular_price不会起作用。

我已将此代码添加到我的主题图中的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 个答案:

答案 0 :(得分: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"]

让我知道输出。