WC_Query::order_by_popularity_post_clauses()publicWC 1.0

WP Core does not let us change the sort direction for individual orderby params - https://core.trac.wordpress.org/ticket/17065.

This lets us sort by meta value desc, and have a second orderby param.

Method of the class: WC_Query{}

No Hooks.

Return

Array.

Usage

$WC_Query = new WC_Query();
$WC_Query->order_by_popularity_post_clauses( $args );
$args(array) (required)
Query args.

WC_Query::order_by_popularity_post_clauses() code WC 8.7.0

public function order_by_popularity_post_clauses( $args ) {
	$args['join']    = $this->append_product_sorting_table_join( $args['join'] );
	$args['orderby'] = ' wc_product_meta_lookup.total_sales DESC, wc_product_meta_lookup.product_id DESC ';
	return $args;
}