To display a custom message on cart page based on number of cart items count, use the following:
// On cart page only
add_action( 'woocommerce_check_cart_items', 'custom_total_item_quantity_message' );
function custom_total_item_quantity_message() {
$items_count = WC()->cart->get_cart_contents_count();
$min_count = 30;
if( is_cart() && $items_count < $min_count ){
wc_print_notice( sprintf( __("If you order %s more items you can get…", "woocommerce"), $min_count - $items_count ), 'notice' );
}
}
Code goes in function.php file of your active child theme (or active theme). Tested and work.
If using woocommerce_before_cart
or woocommerce_before_cart_table
the remaining count will not be updated when changing quantities or removing items… Try:
add_action( 'woocommerce_before_cart', 'custom_total_item_quantity_message' );
function custom_total_item_quantity_message() {
$items_count = WC()->cart->get_cart_contents_count();
$min_count = 30;
if( is_cart() && $items_count < $min_count ){
echo '<div class="woocommerce-info">';
printf( __("If you order %s more items you can get…", "woocommerce"), $min_count - $items_count );
echo '</div>';
}
}
or:
add_action( 'woocommerce_before_cart_table', 'custom_total_item_quantity_message' );
function custom_total_item_quantity_message() {
$items_count = WC()->cart->get_cart_contents_count();
$min_count = 30;
if( is_cart() && $items_count < $min_count ){
echo '<div class="woocommerce-info">';
printf( __("If you order %s more items you can get…", "woocommerce"), $min_count - $items_count );
echo '</div>';
}
}