You appear to be a bot. Output may be restricted
Description
Custom orderby clauses using the lookup tables.
Usage
$array = Controller::add_wp_query_orderby( $args, $wp_query );
Parameters
- $args
- ( array ) required – Query args.
- $wp_query
- ( object ) required – WP_Query object.
Returns
array
Source
File name: woocommerce/packages/woocommerce-admin/src/API/Reports/Stock/Controller.php
Lines:
1 to 23 of 23
public static function add_wp_query_orderby( $args, $wp_query ) { global $wpdb; $orderby = $wp_query->get( 'orderby' ); $order = esc_sql( $wp_query->get( 'order' ) ? $wp_query->get( 'order' ) : 'desc' ); switch ( $orderby ) { case 'stock_quantity': $args['join'] = self::append_product_sorting_table_join( $args['join'] ); $args['orderby'] = " wc_product_meta_lookup.stock_quantity {$order}, wc_product_meta_lookup.product_id {$order} "; break; case 'stock_status': $args['join'] = self::append_product_sorting_table_join( $args['join'] ); $args['orderby'] = " wc_product_meta_lookup.stock_status {$order}, wc_product_meta_lookup.stock_quantity {$order} "; break; case 'sku': $args['join'] = self::append_product_sorting_table_join( $args['join'] ); $args['orderby'] = " wc_product_meta_lookup.sku {$order}, wc_product_meta_lookup.product_id {$order} "; break; } return $args; }