Automattic\WooCommerce\Admin\API\Reports\Stock
Controller::add_wp_query_orderby
Custom orderby clauses using the lookup tables.
Метод класса: Controller{}
Хуков нет.
Возвращает
Массив.
Использование
$result = Controller::add_wp_query_orderby( $args, $wp_query );
- $args(массив) (обязательный)
- Query args.
- $wp_query(объект) (обязательный)
- WP_Query object.
Код Controller::add_wp_query_orderby() Controller::add wp query orderby WC 10.7.0
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;
}