Your WooCommerce shopping cart might look messy when it contains many products. Your specific business, besides, might require you buy “Part 1” first and “Part 2” after.

A way to tidy up the WooCommerce shopping basket is – for example – to sort products based on their title, from A to Z. As usual, this can be done with a few lines of PHP, even if you have no clue about coding… feel free to copy, paste, and enjoy the snippet 🙂

Sort WooCommerce Cart Products Alphabetically

PHP Snippet: Sort Products Alphabetically @ WooCommerce Cart

/**
* @snippet       Sort Products Alphabetically @ WooCommerce Cart
* @how-to        Get CustomizeWoo.com FREE
* @author        Rodolfo Melogli
* @testedwith    Woo 3.7
* @donate $9     https://businessbloomer.com/bloomer-armada/
*/

add_action( 'woocommerce_cart_loaded_from_session', 'bbloomer_sort_cart_items_alphabetically' );

function bbloomer_sort_cart_items_alphabetically() {

// READ CART ITEMS
$products_in_cart = array();
foreach ( WC()->cart->get_cart_contents() as $key => $item ) {
$products_in_cart[ $key ] = $item['data']->get_title();
}

// SORT CART ITEMS
natsort( $products_in_cart );

// ASSIGN SORTED ITEMS TO CART
$cart_contents = array();
foreach ( $products_in_cart as $cart_key => $product_title ) {
$cart_contents[ $cart_key ] = WC()->cart->cart_contents[ $cart_key ];
}
WC()->cart->cart_contents = $cart_contents;

}
Share:

Leave a Reply