I’m running WooCommerce and am trying to get the default product display to be sorted by the sku field in ascending order. So far I’ve come up with this:
/* Order products by SKU */
function reorder_products_by_sku( $query ) {
if(is_shop() && ! is_admin() && $query->is_main_query()) {
$query->set('orderby', 'meta_value_num');
$query->set('meta_key', 'sku');
$query->set('order', 'ASC');
}
}
add_action( 'pre_get_posts', 'reorder_products_by_sku' );
This just tells me there are no products found which match my selection. Can anyone point me towards what I’m doing wrong?
Thanks
You might want to take a look at the WooCommerce docs, there’s a good snippet there showing now to add custom sort orders.
The link is http://wcdocs.woothemes.com/snippets/custom-sorting-options-ascdesc/
Once you’ve ‘defined’ your custom order you’ll of course need to set it as the default in the store settings.