Renaming the WooCommerce "Add to Cart" button is one of those five-minute jobs clients ask for constantly. Maybe they want "Buy now", "Enquire", "Book" or "Add to basket". You do not need a plugin for it. Two filters do the whole thing, and they still work on current WooCommerce in 2026.
Where the button text comes from
WooCommerce sets the button label in two different places: one for the single product page and one for shop and category archive pages. If you only change one, half your buttons keep saying "Add to cart", which is the usual reason people think the snippet did not work. You want both filters.
The snippet
Add this via the Code Snippets plugin, not your theme's functions.php. A theme update wipes functions.php; a snippet survives it and you can toggle it off in one click if anything looks wrong. Replace "Buy now" with whatever label you want.
// Change the Add to Cart text on the single product page
add_filter( 'woocommerce_product_single_add_to_cart_text', 'lv_add_to_cart_text_single' );
function lv_add_to_cart_text_single() {
return __( 'Buy now', 'woocommerce' );
}
// Change the Add to Cart text on shop and archive pages
add_filter( 'woocommerce_product_add_to_cart_text', 'lv_add_to_cart_text_archive' );
function lv_add_to_cart_text_archive() {
return __( 'Buy now', 'woocommerce' );
}
Different text per product (optional)
Both filters can receive the product object, so you can branch on stock status, category or product type. For example, showing "Read more" for anything out of stock and "Buy now" for everything else:
add_filter( 'woocommerce_product_add_to_cart_text', 'lv_add_to_cart_text_by_stock', 10, 2 );
function lv_add_to_cart_text_by_stock( $text, $product ) {
return $product->is_purchasable() && $product->is_in_stock() ? 'Buy now' : 'Read more';
}
That is the whole feature. If you are theming a store in Elementor and want the buttons to match your design as well as your wording, this snippet approach keeps all your custom logic in one safe, toggleable place.
Building or fixing a WooCommerce store? Tell me what you need.