WooCommerce: Count Product Recent Sales

We already talked about displaying the total number of sales for a given product ID, however what if you just want to calculate sales in the last week?

This is a much better option when you have a busy WooCommerce shop and want to increase your sales conversion rate.

So, here’s the snippet – paste to your functions.php and enjoy!

Calculating recent sales (last week) and displaying them on the WooCommerce single product page

PHP Snippet: Display Number of Sales in the Last Week @ WooCommerce Single Product Page

/**
 * @snippet       Product Sales Last Week - WooCommerce Single Product Page
 * @how-to        Watch tutorial @ https://businessbloomer.com/?p=19055
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 3.6.4
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */

add_action( 'woocommerce_single_product_summary', 'bbloomer_product_sold_count_1_week', 11 );
 
function bbloomer_product_sold_count_1_week() {
	global $product;
	
	// GET LAST WEEK ORDERS
	$all_orders = wc_get_orders(
		array(
			'limit' => -1,
			'status' => array_map( 'wc_get_order_status_name', wc_get_is_paid_statuses() ),
			'date_after' => date( 'Y-m-d', strtotime( '-1 week' ) ),
			'return' => 'ids',
		)
	);
    
	// LOOP THROUGH ORDERS AND SUM QUANTITIES PURCHASED
	$count = 0;
	foreach ( $all_orders as $all_order ) {
		$order = wc_get_order( $all_order );
		$items = $order->get_items();
		foreach ( $items as $item ) {
			$product_id = $item->get_product_id();
			if ( $product_id == $product->get_id() ) {
				$count = $count + absint( $item['qty'] ); 
			}
		}
	}
	
	if ( $count > 0 ) echo "<p>Recent sales: $count</p>";
}

Where to add this snippet?

You can place PHP snippets at the bottom of your child theme functions.php file (before "?>" if you have it). CSS, on the other hand, goes in your child theme style.css file. Make sure you know what you are doing when editing such files - if you need more guidance, please take a look at my free video tutorial "Where to Place WooCommerce Customization?"

Does this snippet (still) work?

Please let me know in the comments if everything worked as expected. I would be happy to revise the snippet if you report otherwise (please provide screenshots). I have tested this code with Storefront theme, the WooCommerce version listed above and a WordPress-friendly hosting on PHP 7+.

If you think this code saved you time & money, please join other Business Bloomer supporters and avail of 365 days of WooCommerce benefits. Thank you in advance :)

Need Help with WooCommerce Customization?

Check out these free video tutorials!

  • how-to-edit-woocommerce-with-php-snippets
  • woocommerce-hooks-add_action-list-visual
  • woocommerce-customize-single-product-page-PHP

Rodolfo Melogli

Author, WooCommerce expert and WordCamp speaker, Rodolfo has worked as a WooCommerce freelancer since 2011. His goal is to help entrepreneurs and developers overcome their WooCommerce nightmares. Rodolfo loves travelling, chasing tennis & soccer balls and, of course, wood fired oven pizza.

2 thoughts on “WooCommerce: Count Product Recent Sales

  1. This is really help to give a boost for social proof! Thanks for Sharing Rodolfo! Will apply this in my store later.

    1. Great!

Questions? Feedback? Support? Leave your Comment Now!
_____

If you are writing code, please wrap it between: [php]code_here[/php]. Failure to complying with this (as well as going off topic) will result in comment deletion. You should expect a reply in about a week - this is a popular blog but I need to get paid work done first. Please consider joining #BloomerArmada to ask me 1-to-1 WooCommerce questions. Thank you :)

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.