Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #876075

    Hi!
    I have added sorting WooCommerce products by SKU as a standard sorting with code in functions.php through the plugin “Theme Customisations”. The sorting works fine when first viewing the store page, but if I click the dropdown to change sorting to let’s say “Price” and then back to “Standard”, the products are sorted Alphabetically instead of by SKU.

    I tried switching to the Twentyfifteen theme and there the sorting dropdown works, although the options say “SKU” and not “Standard”.

    The code in functions.php:

    function sv_add_sku_sorting( $args ) {
    	$orderby_value = isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
    
    	if ( 'sku' == $orderby_value ) {
    		$args['orderby'] = 'meta_value';
    		$args['order'] = 'asc'; 
    		// ^ lists SKUs alphabetically 0-9, a-z; change to desc for reverse alphabetical
    		$args['meta_key'] = '_sku';
    	}
    
    		return $args;
    	}
    	add_filter( 'woocommerce_get_catalog_ordering_args', 'sv_add_sku_sorting' );
    
    function sv_sku_sorting_orderby( $sortby ) {
    	$sortby['sku'] = 'Sort by SKU';
    	// Change text above as desired; this shows in the sorting dropdown
    	return $sortby;
    }
    add_filter( 'woocommerce_catalog_orderby', 'sv_sku_sorting_orderby' );
    add_filter( 'woocommerce_default_catalog_orderby_options', 'sv_sku_sorting_orderby' );
    #876868

    Hey gunnarraneback,

    Unfortunately, it would require quite some time and customization of the theme to achieve this, so I am sorry to tell you that this is not covered by our support. However, if it’s really important for you to get this done, you can always hire a freelancer to do the job for you :)

    Best regards,
    Basilis

Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.