WooCommerce Cart Sessions and Persistent Cart Explained

shopping cart, wooden, wood, wheel, food, traditional, cart, traditional rite, alcamo

In a recent Business Bloomer Club Slack thread, a discussion unfolded around WooCommerce cart session management—specifically how long guest carts are stored before expiration.

A core WooCommerce function confirmed the default behavior: sessions expire after 48 hours, with a soft expiration at 47 hours.

This raised further questions about whether the session expiry is extended after a cart update, and how this differs between guest and logged-in users.

Digging deeper, the conversation touched on the role of the _woocommerce_persistent_cart_ option for logged-in customers, and whether it’s still necessary given longer session durations.

Interestingly, this debate coincided with a new WooCommerce pull request suggesting the removal of persistent carts entirely in favor of simpler session management.

If you’ve ever wondered how WooCommerce stores cart data or how it behaves across different users, this post summarizes key findings and links directly to WooCommerce core code and discussions that could impact future releases.

Continue reading WooCommerce Cart Sessions and Persistent Cart Explained

Quantity Input as a Dropdown in WooCommerce: Limiting Quantity to a Custom Maximum

In a recent Business Bloomer Club discussion, a WooCommerce developer encountered a challenge when implementing a quantity dropdown for product selection.

Despite setting a maximum quantity of 20, the dropdown was still allowing up to 9999 units. This scenario highlighted some key considerations when adjusting WooCommerce’s quantity input fields, especially for products with stock management enabled.

The default quantity input field in WooCommerce is typically a text field, but with some custom code, it can be turned into a dropdown to enhance user experience. Here’s a breakdown of how to modify this input field while ensuring it adheres to a maximum limit.

Continue reading Quantity Input as a Dropdown in WooCommerce: Limiting Quantity to a Custom Maximum

Automatically Hiding the “Product Added to Cart” Message in WooCommerce

In a recent Business Bloomer Club discussion, a member asked how to remove the “Product has been added to your cart” message after a few seconds rather than keeping it displayed indefinitely. This notification, while informative, can sometimes disrupt the shopping flow, especially when customers add multiple items to their cart.

Instead of permanently disabling it, an ideal approach is to automatically hide the message after a few seconds using JavaScript. Here’s a simple way to implement this timed message removal and improve the user experience in your WooCommerce store.

Continue reading Automatically Hiding the “Product Added to Cart” Message in WooCommerce

WooCommerce: Simple Add To Cart Click Counter

Ever wondered how many visitors actually click “Add to Cart” on your WooCommerce store?

This seemingly simple action holds valuable insights into your product appeal and conversion funnel. By implementing an Add to Cart click counter, you gain a crucial piece of the puzzle, allowing you to calculate your conversion rate more accurately. You already have the number of product sales available, so with this additional piece of data you can assess how effective your product pages are.

In this tutorial, we’ll implement a simple click tracking functionality for a WooCommerce button, guiding you through the setup process and exploring the valuable insights it unlocks. Enjoy!

Continue reading WooCommerce: Simple Add To Cart Click Counter

WooCommerce: Remove “add-to-cart=123” URL Parameter After Add to Cart

The “add-to-cart” parameter in WooCommerce is used to create a custom URL that adds a specific product to the shopping cart. The “123” value is the product ID, and you can even specify a custom quantity. By clicking a link with this parameter in the URL, the user can add the specified product (ID# 123 in this example) to their cart without having to navigate to the product page itself.

The problem is that WooCommerce itself doesn’t automatically remove the “add-to-cart” parameter after a successful add to cart, and if you reload the page you will add to cart again! So, let’s see how we can remove this parameter in case you disabled the “redirect to cart” option.

Continue reading WooCommerce: Remove “add-to-cart=123” URL Parameter After Add to Cart

WooCommerce: Rename The “Add to cart” Button Label

The “Add to Cart” button label cannot be changed from the WooCommerce settings unfortunately. Thankfully, the simple code below will allow you to change it to whatever you wish e.g. “Add to Basket” or “Add to Order”.

We saw in the past how to rename the “Add to Cart” label conditionally or how to add an icon to it, but this time I’d like to change the whole wording.

By customizing the “Add to Cart” button label, you can influence user behavior and potentially increase sales in your WooCommerce store.

The new label should clearly communicate the action the user takes when clicking the button, and possibly use strong verbs and persuasive language to encourage users to add products to their cart. Besides, you have the chance to maintain consistency with your overall brand voice and tone.

So, let’s see how it’s done. Enjoy!

Continue reading WooCommerce: Rename The “Add to cart” Button Label

WooCommerce: Hide “View Cart” Button Upon Ajax Add to Cart

WooCommerce has a built-in AJAX functionality for adding products to the cart on archive pages (Shop page, product category pages, tag pages, etc.). Once you add a product, WooCommerce displays a “View Cart” button beside the “Add to Cart” one.

The “View Cart” button is a way to improve user experience, so that customers can quickly access their cart after adding a product. However, I’ve noticed on some client websites that this can mess up the product grid layout, confuse users and – sometimes – hurt the overall UX instead of improving it!

With the snippet below you’ll learn how to remove this button – surely you’re familiar with the CSS display:none method, so we will see a different approach here, so that the button doesn’t even load. Enjoy!

Continue reading WooCommerce: Hide “View Cart” Button Upon Ajax Add to Cart

WooCommerce: Disable “You cannot add another __ to your cart” Message

When a WooCommerce product is set to “Sold Individually”, you can only add 1 item to the cart. If you try a second time, you will get the “You cannot add another “%s” to your cart” error message, so that the customer is aware that there is already that product in the cart.

However, you may want to either edit the message wording or completely remove it, especially if you automatically redirect to cart or checkout upon add to cart.

So, let’s study how to do the latter, which is much more complex than using the ‘woocommerce_cart_product_cannot_add_another_message‘ filter for editing the message content. Enjoy!

Continue reading WooCommerce: Disable “You cannot add another __ to your cart” Message

WooCommerce: Add to Cart Form @ Shop Page

We’ve already covered a similar customization on Business Bloomer: how to display Ajax quantity selectors on the WooCommerce Shop page. The problem there was that that only works for simple products, and only when Ajax add to cart is activated via the WooCommerce settings.

Today I’d like to experiment a little, and see what happens when we include the “add to cart template” (i.e. the one you see on the WooCommerce Single Product page) under each product on the WooCommerce Shop page.

This *should* work with all product types – especially variable products – because you will see the attribute dropdown selectors in such a case, as if you were on the single product page.

I haven’t tested this with grouped, bundle, and special product types, so feel free to share your findings in the comments below. Enjoy!

Continue reading WooCommerce: Add to Cart Form @ Shop Page

WooCommerce: Pre-defined Add to Cart Quantity Selectors

I seriously spent more than usual trying to write a decent title. Still, I’m not 100% sure I’ve explained it well – so here’s some more context.

The WooCommerce Single Product Page add to cart form features a quantity input and an add to cart button. Super simple. Customers can define a quantity and add the current product to the cart.

Now, let’s imagine you want to change this experience based on your business requirements, and instead of the quantity input and add to cart button you want to show 3 buttons: “Add 1x to the cart“, “Add 2x to the cart“, “Add 3x to the cart.

And if you can match this with a bulk quantity discount functionality, you can even change the messaging to e.g. “Add 1x to the cart“, “Add 2x to the cart and save $X“, “Add 3x to the cart and save $Y“…

So, let’s see how to hide the default add to cart form, and instead show buttons that allow the customer to add to cart a pre-defined product quantity (for simple products). As per this screenshot:

Continue reading WooCommerce: Pre-defined Add to Cart Quantity Selectors

WooCommerce: Change “Buy Product” Label for External Products

By default, WooCommerce displays a “Buy Product” button label for external products. This button redirects to the external URL that is entered via the single product settings.

As usual, this “Buy Product” label may not suit all businesses, and therefore WooCommerce gives you the option to rename such buttons via the single product edit page settings. This is great, but at the same time you don’t want to manually edit hundreds of products when you can use a few lines of PHP, right?

So, here’s a super quick fix to override the “Buy Product” external add to cart button label to whatever you wish, without ever touching the manual settings. Enjoy!

Continue reading WooCommerce: Change “Buy Product” Label for External Products

WooCommerce: Duplicate Add to Cart Button @ Single Product Page

In case you have very long single product pages, it may be helpful to show the Add to Cart form at the bottom of the page or even inside the description tab.

Thankfully this is pretty easy and only requires one line of code. The only thing that you may want to change is the hook name, which defines the position of the button, and the priority, which defines the relative position of the element in case there are other ones “hooked” onto the same hook.

In this example, we will place the button at the very bottom of the page, below tabs, upsells and related products. Enjoy!

Continue reading WooCommerce: Duplicate Add to Cart Button @ Single Product Page

WooCommerce: Count External Product Clicks

Yeah Google Analytics is cool, but have you ever coded your own tracking functions within your WooCommerce website?

An example may be counting the number of times customers click on the “Buy product” button that displays on the Single External Product Page, and show the counter in the Products Table in the backend.

For example, I use this to calculate the Click Through Rate (% clicks / views) and see how popular an external product is. Of course, you could also decide to extend the counter to all products (simple, variable, etc.) and count the number of times customers click on the Add to Cart, but for today let’s stick to the external products count. Enjoy!

Continue reading WooCommerce: Count External Product Clicks

WooCommerce: Add to Cart Quantity Suffix

On a default WooCommerce install, we add X products to cart by defining the add to cart quantity on the single product page.

But what if your shop sells spices? It’s likely that those quantities are actually pounds / kilograms / or whatever weight unit you require. And what if your WooCommerce business is entirely focused around Italian extra virgin olive oil (asking for a friend!), that you’d sell per liter?

In such custom cases, it’s nice to specify the unit beside the add to cart quantity, so that customers know how much and what they are buying. So, let’s see how to add an add to cart quantity suffix beside the quantity input field on the single product page. Enjoy!

Continue reading WooCommerce: Add to Cart Quantity Suffix