Skip to content

Instantly share code, notes, and snippets.

@ChromeOrange
Created July 18, 2012 12:40
Show Gist options
  • Save ChromeOrange/3135986 to your computer and use it in GitHub Desktop.
Save ChromeOrange/3135986 to your computer and use it in GitHub Desktop.
woocommerce_get_catalog_ordering_args
add_filter( 'woocommerce_get_catalog_ordering_args','custom_query_sort_args' );
function custom_query_sort_args() {
// Sort by and order
$current_order = ( isset( $_SESSION['orderby'] ) ) ? $_SESSION['orderby'] : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
switch ( $current_order ) {
case 'date' :
$orderby = 'date';
$order = 'desc';
$meta_key = '';
break;
case 'price' :
$orderby = 'meta_value_num';
$order = 'asc';
$meta_key = '_price';
break;
case 'title' :
$orderby = 'meta_value';
$order = 'asc';
$meta_key = '_woocommerce_product_short_title';
break;
default :
$orderby = 'menu_order title';
$order = 'asc';
$meta_key = '';
break;
}
$args = array();
$args['orderby'] = $orderby;
$args['order'] = $order;
if ($meta_key) :
$args['meta_key'] = $meta_key;
endif;
return $args;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment