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!

With the snippet below you can easily change the “Add to cart” button label to whatever you want e.g. “Add to order”

PHP Snippet: Rename “Add to cart” Button Label @ WooCommerce Shop & Single Product Pages

In essence, this code snippet alters the text displayed on the “Add to Cart” button throughout your WooCommerce store, replacing the default text with “Buy Now!” (or whatever you prefer) on both product archives and single product pages.

Snippet breakdown:

  1. add_filter Function:
    • The code utilizes the add_filter function, a core WordPress function used to modify the behavior of existing functions by attaching a custom function to a filter hook.
  2. Filter Hooks:
    • The code employs two filter hooks:
      • woocommerce_product_single_add_to_cart_text: This hook specifically targets the “Add to Cart” button text displayed on single product pages.
      • woocommerce_product_add_to_cart_text: This hook applies on product archives (listings).
  3. Custom Function:
    • The bbloomer_custom_add_cart_button function is the custom function hooked to the filters. This function gets called whenever either of the filters is triggered.
  4. Modifying Button Text:
    • Inside the bbloomer_custom_add_cart_button function, the return 'Buy Now!'; statement replaces the default “Add to Cart” text with the new text “Buy Now!”. Change it to whatever you wish.
/**
 * @snippet       Change "Add to cart" Button Label @ Woo Shop / Single
 * @tutorial      Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli, Business Bloomer
 * @compatible    WooCommerce 8
 * @community     Join https://businessbloomer.com/club/
 */

add_filter( 'woocommerce_product_single_add_to_cart_text', 'bbloomer_custom_add_cart_button', 9999 ); 
add_filter( 'woocommerce_product_add_to_cart_text', 'bbloomer_custom_add_cart_button', 9999 );
 
function bbloomer_custom_add_cart_button() {
   return 'Buy Now!';
}

Where to add custom code?

You should place custom PHP in functions.php and custom CSS in style.css of your child theme: where to place WooCommerce customization?

This code still works, unless you report otherwise. To exclude conflicts, temporarily switch to the Storefront theme, disable all plugins except WooCommerce, and test the snippet again: WooCommerce troubleshooting 101

Related content

Rodolfo Melogli

Business Bloomer Founder

Author, WooCommerce expert and WordCamp speaker, Rodolfo has worked as an independent WooCommerce freelancer since 2011. His goal is to help entrepreneurs and developers overcome their WooCommerce nightmares. Rodolfo loves travelling, chasing tennis & soccer balls and, of course, wood fired oven pizza. Follow @rmelogli

Questions? Feedback? Customization? Leave your comment now!
_____

If you are writing code, please wrap it like so: [php]code_here[/php]. Failure to complying with this, as well as going off topic or not using the English language will result in comment disapproval. You should expect a reply in about 2 weeks - this is a popular blog but I need to get paid work done first. Please consider joining the Business Bloomer Club to get quick WooCommerce support. Thank you!

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