How to Hide/remove/disable Add to cart button in WooCommerce ?

Free Plugin to Remove Add To Cart Button: Download at

Today we are going to do a bit of customization in the WooCommerce. Before, moving to the solution I assume that you have installed WordPress and WooCommerce on that successfully.

Now let’s move to the solution. When the problem came to me the first thought in my mind was to edit template files. That could be one approach but not a wise one for such a small customization.

After doing some research, I’ve came to the conclusion that luckily WooCommerce allows multiple hooks, with the help of these hooks, we can remove prices and buttons.

After installing WordPress go to backend and add a product. You can name it as you want and fill the details. See the image below:

Now on the front end you can see add to cart button on product listing i.e. shop page and product detail page as shown in the figures below.

Now we need to remove this button.

So, to remove add to cart button from product detail page and shop page i.e. product listing page all we need to do is to add these two hooks.

remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );

We can place this code in any place where it should be appropriate.

In some cases, we can add them to functions.php file but in some cases it may generate some error. So, I’m going to place these hooks in woocommerce.php file under the plugins folder.

To access this file go to wordpress > wp-content > plugins > woocommerce and open the file woocommerce.php there and after line 904 place these two hooks.

Save the file then refresh page. Add to cart buttons should have been removed from the site.

Thats it.

How to remove the Add to Cart button from a specific product Only?

There are a couple of ways to do that, depending on the desired result:

1- You could simply empty the price fields. The product will no longer have a price, nor an Add to cart button.
2- You could enable stock management, and set the product stock to zero.
3- You could write a filter for the “woocommerce_is_purchasable” hook, and return false when the product ID is the target one. This would leave the price visible, and display a “product cannot be purchased” note instead of the Add to cart button.

We will achieve the result by going with the Third option that is to add code to the functions.php file of the Child theme.

add_filter('woocommerce_is_purchasable', 'my_woocommerce_is_purchasable', 10, 2);
function my_woocommerce_is_purchasable($is_purchasable, $product) {
        return ($product->id == whatever_mambo_jambo_id_you_want ? false : $is_purchasable);
About the author

We provide WordPress & WooCommerce Support, Maintenance and Development Services.
19 Responses
  1. Ronny Myhre Njaastad


    If you put the code snippet in woocommerce.php it will dissapear next time you update WooCommerce.
    Better to put it in functions.php, or a stand-alone plugin.

Leave a Reply