What Is the Customize Add to Cart Button Text feature?
The default “Add to Cart” button text is fine for most sites, but some use cases benefit from customized text:
- Digital products: “Download Now” or “Get Instant Access” instead of “Add to Cart”
- Low stock urgency: “Only 3 left!” or “Hurry, selling fast”
- Returning customers: “Add to Cart Again” or “Welcome Back”
- Per-product-type: Different text for simple, variable, grouped, and external products
The feature includes 15 sub-options for fine-tuning the button text per context.
Why You Need It
The default “Add to Cart” button is generic. Customized button text can:
- Increase conversions: Urgency messaging (“Only 3 left!”) drives purchases
- Reduce bounce rate: Clear, contextual text (“Download Now” vs “Add to Cart”) reduces confusion
- Personalize experience: Returning customer messaging (“Welcome Back, John”) feels different from guest messaging
- Match product type: Digital products need different CTAs than physical products
For most sites, the default text works fine. For sites that want conversion optimization, this feature provides the building blocks.
How to Customize the Add to Cart Button in WordPress
Step 1: Navigate to Settings
Click into the Classic Monks plugin settings in your WordPress dashboard.
Step 2: Go to the WooCommerce Tab
Click on the WooCommerce menu, then click the Single Product subtab.
Step 3: Enable Customize Add to Cart Button Text
Scroll to Customize Add to Cart Button Text and toggle on. Nested options expand.
Step 4: Configure Product Type Text
Set the button text for each product type:
- Simple Products Button Text: Default “Add to Cart”
- Variable Products Button Text: Default “Select Options” (often better for variable products)
- Grouped Products Button Text: Default “View Products”
- External Products Button Text: Default “Buy Product” (for affiliate/external products)
Step 5: Configure Display Scopes
Choose where the custom text applies:
- Apply to Product Loops: Shop, category, archive pages
- Apply to Single Product Pages: Individual product detail pages
Step 6: Configure Advanced Options
The 15 sub-options include:
- Dynamic Text Based on Stock: Low stock threshold + custom message template
- Personalized Button Text: Different text for guest, logged-in, returning customers
- Category-Specific Rules: Use slug:text format for per-category custom text
Step 7: Save Changes
Click Save Changes.
Step 8: Test
Visit a product on the front-end as both a guest and a logged-in user. Verify the button text matches your configuration.
Configuration Options
| Option | Description | Default |
|---|---|---|
| Customize Add to Cart Button Text | Master toggle. | Off |
| Simple Products Button Text | Button text for simple products. | “Add to Cart” |
| Variable Products Button Text | Button text for variable products. | “Select Options” |
| Grouped Products Button Text | Button text for grouped products. | “View Products” |
| External Products Button Text | Button text for external/affiliate products. | “Buy Product” |
| Apply to Product Loops | Use custom text on archive pages. | Off |
| Apply to Single Product Pages | Use custom text on detail pages. | On |
| Dynamic Text Based on Stock | Show low-stock or high-demand text. | Off |
| Low Stock Threshold | Stock level considered “low” (1-100). | 10 |
| Personalized Button Text | Different text for different user types. | Off |
| Category-Specific Button Text | Per-category text using slug:text format. | Off |
What Gets Affected
- All WooCommerce product pages (loops and single)
- The Add to Cart button text only (not the icon, not the styling, not the AJAX behavior)
- Product types: simple, variable, grouped, external
- User roles: guest, logged-in, returning customer (when personalization is enabled)
What Does NOT Get Affected
- Cart and checkout pages (different buttons: “View Cart”, “Proceed to Checkout”)
- The AJAX add-to-cart behavior
- Quick view / quick add-to-cart modals from other plugins
- Cart and checkout buttons in the cart widget
Advanced Options (Developers)
This feature registers 1 WordPress hook in woocommerce-functions.php:
Filters:
woocommerce_product_single_add_to_cart_textcallscm_custom_add_to_cart_text()(Customizes single product add to cart text (priority 10))
// Hooked in woocommerce-functions.php
add_filter( 'woocommerce_product_single_add_to_cart_text', 'cm_custom_add_to_cart_text' );
The feature modifies WooCommerce behavior by registering or removing hooks. Disabling it reverses those changes.
Troubleshooting
The custom button text is not showing
Cause: The toggle is off, or the cache is serving the old button text.
Fix: Verify the toggle is on. Clear all caching layers (page cache, object cache, CDN). The button text is generated server-side per request, so caching is the most common cause.
The dynamic stock text always shows “in stock”
Cause: The “Enable Dynamic Text Based on Stock” toggle is off, or the stock threshold is not met.
Fix: Verify the toggle is on. Verify the product’s stock is below the Low Stock Threshold. Note that for variable products, the stock is per-variation, not per-product.
The personalized text doesn’t show for returning customers
Cause: “Returning customer” detection requires the user to have placed a previous order. New logged-in users without order history are treated as “logged-in” not “returning”.
Fix: Verify the test user has a completed order in the past. Check the user role (some custom roles may not match the detection logic).
The category-specific text doesn’t work
Cause: The format is wrong. The correct format is slug:text (one per line, slug is the category slug without the pa_ prefix).
Fix: Use the correct format. For example, for a category with slug “downloads” and text “Download Now”, enter downloads:Download Now on one line.
The button text appears truncated
Cause: The text field has a character limit (typically 50 characters).
Fix: Use a shorter button text. If the message is too long, use the category-specific rules or a filter to add the longer text.