我昨天花了好几个小时来解决我的问题,但它没有用。 我希望按价格(从低到高)对特定品牌的产品进行排序,所有其他排序选项都可以正常使用标题,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/
我缺少什么?
答案 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"]
让我知道输出。