65
Enabling WooCommerce functionalities only if a “user spent more than X” is not unusual. For example, you may want to display banners, special offers, discounted prices, conditional content to customers who have purchased more than a given dollar threshold.
While coding a function that could get the total spent by a user ID, I stumbled upon a WooCommerce function that already achieves that, out of the box: wc_get_customer_total_spent( $user_id ).
You can use it as a conditional tag and run a function only when such threshold is reached. So, let’s see how to use it. Enjoy!
PHP Snippet: Display Banner Only If User Spent More Than $99 @ WooCommerce Cart
/**
* @snippet Banner Based On Total Spent @ WooCommerce Cart
* @how-to Get tutoraspire.com FREE
* @author Tutor Aspire, BusinessBloomer.com
* @testedwith WooCommerce 4.5
* @donate $9 https://tutoraspire.com
*/
add_action( 'woocommerce_before_cart', 'tutoraspire_show_banner_if_user_spent_more_than_99' );
function tutoraspire_show_banner_if_user_spent_more_than_99() {
$current_user = wp_get_current_user();
// if logged out, exit
if ( 0 == $current_user->ID ) return;
// if spent more than 99, display banner
if ( wc_get_customer_total_spent( $current_user->ID ) > 99 ) {
echo 'Well done - you have unlocked your Valued Customer discount! Use coupon code JRP7EWKD2 and get 5% off all products.';
}
}