{"id":67287,"date":"2017-04-24T20:45:24","date_gmt":"2017-04-24T20:45:24","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wc-custom-add-to-cart-labels\/"},"modified":"2026-06-02T13:03:14","modified_gmt":"2026-06-02T13:03:14","slug":"wc-custom-add-to-cart-labels","status":"publish","type":"plugin","link":"https:\/\/mlt.wordpress.org\/plugins\/wc-custom-add-to-cart-labels\/","author":14204656,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.4","stable_tag":"1.5.4","tested":"7.0","requires":"6.2","requires_php":"","requires_plugins":null,"header_name":"Custom Add to Cart labels for WooCommerce","header_author":"WPExperts.io","header_description":"This plugin lets you change the \"add to cart\" labels on single product pages (per product type) and archive \/ shop page (per product type).","assets_banners_color":"7f54b3","last_updated":"2026-06-02 13:03:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/profiles.wordpress.org\/wpexpertsio","header_author_uri":"https:\/\/github.com\/rynaldos","rating":3.7,"author_block_rating":0,"active_installs":5000,"downloads":107983,"num_ratings":14,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3":{"tag":"1.3","author":"Rynald0s","date":"2025-04-04 14:48:28"},"1.4.0":{"tag":"1.4.0","author":"Rynald0s","date":"2025-04-04 14:48:28"},"1.4.1":{"tag":"1.4.1","author":"Rynald0s","date":"2025-04-08 13:08:50"},"1.5.1":{"tag":"1.5.1","author":"Rynald0s","date":"2025-04-10 15:17:30"},"1.5.2":{"tag":"1.5.2","author":"saadiqbal","date":"2025-04-11 11:47:09"},"1.5.3":{"tag":"1.5.3","author":"wpexpertsio","date":"2025-11-12 04:37:19"},"1.5.4":{"tag":"1.5.4","author":"wpexpertsio","date":"2026-06-02 13:03:14"}},"upgrade_notice":{"1.5.4":"<p>This update adds WordPress 7.0 and WooCommerce 10.8.1 compatibility, HPOS compatibility confirmation, and important security hardening for output escaping. We recommend all users update.<\/p>","1.5.3":"<p>Compatibility update for WordPress 6.8 and WooCommerce 10.0.<\/p>"},"ratings":{"1":3,"2":0,"3":3,"4":1,"5":8},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2330539,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2330539,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":2330539,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3","1.4.0","1.4.1","1.5.1","1.5.2","1.5.3","1.5.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":1644326,"resolution":"1","location":"assets","locale":"","width":1260,"height":1292},"screenshot-2.png":{"filename":"screenshot-2.png","revision":1644326,"resolution":"2","location":"assets","locale":"","width":1730,"height":836},"screenshot-3.png":{"filename":"screenshot-3.png","revision":1644326,"resolution":"3","location":"assets","locale":"","width":1756,"height":752}},"screenshots":{"1":"Settings page \u2014 WooCommerce &gt; Settings &gt; Products &gt; Change \"add to cart\" labels","2":"Shop page \u2014 custom button labels visible on product archive\/loop pages","3":"Single product page \u2014 custom labels on individual product view"}},"plugin_section":[],"plugin_tags":[3175,140031,140032,286,66122],"plugin_category":[45],"plugin_contributors":[199898,81749],"plugin_business_model":[],"class_list":["post-67287","plugin","type-plugin","status-publish","hentry","plugin_tags-add-to-cart","plugin_tags-add-to-cart-label","plugin_tags-add-to-cart-text","plugin_tags-woocommerce","plugin_tags-woocommerce-add-to-cart","plugin_category-ecommerce","plugin_contributors-saadiqbal","plugin_contributors-wpexpertsio","plugin_committers-saadiqbal","plugin_committers-wpexpertsio"],"banners":{"banner":"https:\/\/ps.w.org\/wc-custom-add-to-cart-labels\/assets\/banner-772x250.png?rev=2330539","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wc-custom-add-to-cart-labels\/assets\/icon-128x128.png?rev=2330539","icon_2x":"https:\/\/ps.w.org\/wc-custom-add-to-cart-labels\/assets\/icon-256x256.png?rev=2330539","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wc-custom-add-to-cart-labels\/assets\/screenshot-1.png?rev=1644326","caption":"Settings page \u2014 WooCommerce &gt; Settings &gt; Products &gt; Change \"add to cart\" labels"},{"src":"https:\/\/ps.w.org\/wc-custom-add-to-cart-labels\/assets\/screenshot-2.png?rev=1644326","caption":"Shop page \u2014 custom button labels visible on product archive\/loop pages"},{"src":"https:\/\/ps.w.org\/wc-custom-add-to-cart-labels\/assets\/screenshot-3.png?rev=1644326","caption":"Single product page \u2014 custom labels on individual product view"}],"raw_content":"<!--section=description-->\n<p>Tired of the boring default \"Add to Cart\" button? Want to say \"Buy Now\", \"Book Today\", \"Subscribe\", or \"Get Started\" instead?<\/p>\n\n<p><strong>Custom Add to Cart labels for WooCommerce<\/strong> lets you change button text for every product type on single product pages and archive\/shop pages. One simple settings page, zero coding, full control.<\/p>\n\n<h4>What you can customize<\/h4>\n\n<p><strong>Single product pages:<\/strong>\n* Simple products \u2192 \"Buy Now\", \"Order Now\"\n* Variable products \u2192 \"Select Options\", \"Choose Your Size\"\n* Grouped products \u2192 \"View Products\", \"Choose Items\"\n* External\/Affiliate products \u2192 \"Shop Now\", \"Visit Store\"\n* Bookable products (WooCommerce Bookings) \u2192 \"Book Now\", \"Reserve\"\n* Subscription products \u2192 \"Subscribe Now\", \"Join\"\n* Variable Subscription products \u2192 \"Choose Plan\"<\/p>\n\n<p><strong>Archive \/ Shop pages:<\/strong>\n* Simple products\n* Variable products\n* Grouped products\n* External\/Affiliate products\n* Bookable products\n* Subscription products\n* Variable Subscription products<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>\u2705 <strong>Separate labels for single product &amp; archive pages<\/strong> \u2014 different text for each context<\/li>\n<li>\u2705 <strong>Works with WooCommerce 3.0+ through 10.x<\/strong> \u2014 fully backward compatible<\/li>\n<li>\u2705 <strong>HPOS compatible<\/strong> \u2014 works with WooCommerce High-Performance Order Storage<\/li>\n<li>\u2705 <strong>Tested up to WordPress 7.0<\/strong><\/li>\n<li>\u2705 <strong>Tested up to WooCommerce 10.8.1<\/strong><\/li>\n<li>\u2705 <strong>All product types supported<\/strong> \u2014 Simple, Variable, Grouped, External, Bookable, Subscription, Variable Subscription<\/li>\n<li>\u2705 <strong>Unicode, emoji &amp; special characters<\/strong> \u2014 \ud83d\ude80 \ud83d\udd25 \ud83d\udca5<\/li>\n<li>\u2705 <strong>Graceful fallback<\/strong> \u2014 unsupported product types use WooCommerce defaults<\/li>\n<li>\u2705 <strong>Lightweight<\/strong> \u2014 minimal footprint, no page bloat<\/li>\n<li>\u2705 <strong>No coding required<\/strong> \u2014 configure from WooCommerce settings<\/li>\n<li>\u2705 <strong>Conflict-free<\/strong> \u2014 prefixed filter callbacks avoid plugin clashes<\/li>\n<\/ul>\n\n<h4>Perfect for<\/h4>\n\n<ul>\n<li>\ud83c\udfea eCommerce stores wanting unique CTAs per product type<\/li>\n<li>\ud83d\udcc5 Booking sites that need \"Book Now\" instead of \"Add to Cart\"<\/li>\n<li>\ud83d\udce6 Subscription businesses wanting \"Subscribe\" buttons<\/li>\n<li>\ud83c\udf0d Multilingual stores \u2014 easily adapt button text per language<\/li>\n<li>\ud83c\udfaf Conversion-focused shops optimizing their call-to-action<\/li>\n<li>\ud83d\udd27 Agencies managing multiple client stores with different brand needs<\/li>\n<\/ul>\n\n<h4>What makes this plugin different?<\/h4>\n\n<p>Unlike complex alternatives, this plugin does <strong>one thing well<\/strong> \u2014 change add-to-cart button text. No bloat, no page builders, no confusing UI. Just clean settings, instant results, and lightweight code that won't slow your store.<\/p>\n\n<h3>Developer Hooks<\/h3>\n\n<p>The plugin works with WooCommerce's standard add-to-cart text filters:<\/p>\n\n<pre><code>woocommerce_product_single_add_to_cart_text \u2014 For single product pages\nwoocommerce_product_add_to_cart_text \u2014 For archive\/shop pages\n<\/code><\/pre>\n\n<p>Our callbacks use unique prefixed names (<code>wccatcl_product_single_add_to_cart_text<\/code> and <code>wccatcl_product_loop_add_to_cart_text<\/code>) to avoid conflicts with other plugins.<\/p>\n\n<p>To override programmatically, use a higher priority (lower number):<\/p>\n\n<pre><code>add_filter( 'woocommerce_product_single_add_to_cart_text', 'my_custom_function', 5, 2 );\n<\/code><\/pre>\n\n<!--section=installation-->\n<h4>Automatic Installation<\/h4>\n\n<p>Go to <strong>Plugins &gt; Add New<\/strong>, search for \"Custom Add to Cart labels for WooCommerce\", then install and activate.<\/p>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin and upload to your <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin from the WordPress Plugins screen<\/li>\n<li>Go to <strong>WooCommerce &gt; Settings &gt; Products &gt; Change \"add to cart\" labels<\/strong><\/li>\n<li>Enter your custom labels for each product type<\/li>\n<li>Click Save and you're done<\/li>\n<\/ol>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.2 or higher<\/li>\n<li>WooCommerce 3.0 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20use%20special%20characters%20or%20emojis%20in%20my%20label%3F\"><h3>How do I use special characters or emojis in my label?<\/h3><\/dt>\n<dd><p>Simply copy and paste them into the input field. The plugin fully supports Unicode, HTML entities, and emoji characters.<\/p><\/dd>\n<dt id=\"where%20can%20i%20find%20emojis%20to%20use%3F\"><h3>Where can I find emojis to use?<\/h3><\/dt>\n<dd><p>Check out <a href=\"https:\/\/getemoji.com\/\">Getemoji<\/a> and <a href=\"https:\/\/www.copypastecharacter.com\/\">Copypastecharacter<\/a>.<\/p><\/dd>\n<dt id=\"will%20this%20work%20with%20my%20theme%3F\"><h3>Will this work with my theme?<\/h3><\/dt>\n<dd><p>Yes, this plugin works with any WordPress theme that uses standard WooCommerce templates for the add-to-cart button.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%20blocks%20%2F%20fse%20themes%3F\"><h3>Does it work with WooCommerce Blocks \/ FSE themes?<\/h3><\/dt>\n<dd><p>The plugin hooks into WooCommerce's native PHP filter system, which works with classic themes. For block themes using WooCommerce Blocks, the label changes apply on page load but may not reflect inside the block editor preview.<\/p><\/dd>\n<dt id=\"does%20this%20work%20on%20archive%2Fshop%20pages%3F\"><h3>Does this work on archive\/shop pages?<\/h3><\/dt>\n<dd><p>Yes! You can set separate labels for single product pages AND archive\/shop pages (including category, tag, and search pages).<\/p><\/dd>\n<dt id=\"what%20product%20types%20are%20supported%3F\"><h3>What product types are supported?<\/h3><\/dt>\n<dd><p>Simple, Variable, Grouped, External\/Affiliate, Bookable (WooCommerce Bookings), Subscription, and Variable Subscription (WooCommerce Subscriptions).<\/p><\/dd>\n<dt id=\"does%20it%20support%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Does it support HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes, the plugin is fully compatible with WooCommerce HPOS.<\/p><\/dd>\n<dt id=\"can%20i%20set%20different%20labels%20for%20individual%20products%3F\"><h3>Can I set different labels for individual products?<\/h3><\/dt>\n<dd><p>Currently the plugin works per product type. Per-product label customization is under consideration for a future update.<\/p><\/dd>\n<dt id=\"will%20this%20work%20with%20woocommerce%20bookings%3F\"><h3>Will this work with WooCommerce Bookings?<\/h3><\/dt>\n<dd><p>Yes. Bookable products are fully supported on both single and archive pages.<\/p><\/dd>\n<dt id=\"how%20do%20i%20reset%20to%20default%20labels%3F\"><h3>How do I reset to default labels?<\/h3><\/dt>\n<dd><p>Simply clear the custom text fields in <strong>WooCommerce &gt; Settings &gt; Products &gt; Change \"add to cart\" labels<\/strong> and save. The plugin will fall back to WooCommerce's default button text.<\/p><\/dd>\n<dt id=\"where%20can%20i%20submit%20issues%20or%20request%20features%3F\"><h3>Where can I submit issues or request features?<\/h3><\/dt>\n<dd><p>Submit bug reports and feature requests on our <a href=\"https:\/\/github.com\/wpexperts\/wc-custom-add-to-cart-labels\">GitHub Repository<\/a>.<\/p><\/dd>\n<dt id=\"can%20i%20contribute%20translations%3F\"><h3>Can I contribute translations?<\/h3><\/dt>\n<dd><p>Yes! The plugin is translation-ready. Contribute via the <a href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/wc-custom-add-to-cart-labels\">WordPress translation portal<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.4<\/h4>\n\n<ul>\n<li>Tested up to WordPress 7.0 and WooCommerce 10.8.1<\/li>\n<li>Confirmed HPOS (High-Performance Order Storage) compatibility<\/li>\n<li>Performance improvement \u2014 added static caching for settings lookups<\/li>\n<li>Security hardening \u2014 added output escaping on button labels<\/li>\n<li>Fixed i18n \u2014 replaced variable-based __() calls with escaped output<\/li>\n<li>Fixed plugin header to match readme compatibility claims<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>Tested up to WordPress 6.8 and WooCommerce 10.0<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Changed plugin ownership to WPExperts.io<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Updated plugin display name<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Renamed to \"Custom Add to Cart labels for WooCommerce\" (removed trademark implications)<\/li>\n<li>Updated all i18n calls to use correct text domain <code>wc-custom-add-to-cart-labels<\/code><\/li>\n<li>Prefixed callback functions to avoid plugin conflicts<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Unsupported product types now fall back to WooCommerce defaults<\/li>\n<li>Distinct filters for single product and archive pages<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Added subscription and variable subscription product support<\/li>\n<li>Fixed Gutenberg compatibility issue<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Added bookable products support<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Easily customize &quot;Add to Cart&quot; button labels for every WooCommerce product type \u2014 on single product pages AND archive\/shop pages. No coding required.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mlt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/67287","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mlt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mlt.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mlt.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=67287"}],"author":[{"embeddable":true,"href":"https:\/\/mlt.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/saadiqbal"}],"wp:attachment":[{"href":"https:\/\/mlt.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=67287"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mlt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=67287"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mlt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=67287"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mlt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=67287"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mlt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=67287"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mlt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=67287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}