WooCommerce Cart: Check if a Product from a Category Exists

In WooCommerce, you may want to perform custom actions when a product from a particular category is in the cart. This can be done by hooking into the woocommerce_before_cart_contents action, enabling you to personalize the cart experience based on the category.

 

Step-by-Step Guide to Check Product Category

The following code snippet shows how to check if a product from a specific category is in the cart:

add_action('woocommerce_before_cart_contents', 'check_product_category_in_cart');

function check_product_category_in_cart() {
    $category_slug = 'your-category-slug'; // Replace with your category's slug
    $category_found = false;

    $cart_items = WC()->cart->get_cart();

    foreach ($cart_items as $cart_item_key => $cart_item) {
        $product_id = $cart_item['product_id'];
        $product = wc_get_product($product_id);

        if (has_term($category_slug, 'product_cat', $product_id)) {
            $category_found = true;
            break;
        }
    }

    if ($category_found) {
        echo 'The product category is in your cart!';
    } else {
        echo 'No items from this category in your cart.';
    }
}

Explanation of the Code

This function checks every product in the cart and sees if it belongs to the specified category. If a match is found, it displays a message indicating the presence of the product category in the cart.

Enhancements for Your Store

  • Offer a special discount for products in the selected category.
  • Provide a free gift or a promo code when a product from the category is added.
  • Modify shipping options based on the presence of certain categories in the cart.

Adding the Code to Your Site

Insert the code in the functions.php file of your theme, or for a more modular approach, create a custom plugin.

Related Links

Leave a Comment

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

Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.