add_filter( 'woocommerce_product_add_to_cart_text' , 'custom_woocommerce_product_add_to_cart_text' ); /** * custom_woocommerce_template_loop_add_to_cart */ function custom_woocommerce_product_add_to_cart_text() { global $product; $product_type = $product->product_type; switch ( $product_type ) { case 'external': return __( 'Buy product', 'woocommerce' ); break; case 'grouped': return __( 'View products', 'woocommerce' ); break; case 'simple': return __( 'Add to cart', 'woocommerce' ); break; case 'variable': return __( 'Select options', 'woocommerce' ); break; default: return __( 'Read more', 'woocommerce' ); } }
This free plugin allows you to change “add to cart” labels on all single product pages (per product type) and also on archive/shop page (per product type): WC Custom Add to Cart labels
If you want although to use as less code as possible, you can use that code snippet.