Remove Add to Cart Buttons from Product Page
-
How do I remove the add to cart button from the products page and only have it on the individual page of the item I’m selling? I’ve seen this question asked elsewhere but I don’t know which files to access or what code to add/delete. Please could someone help!
Many thanks
-
two ways:
first, put a folder called woocommerce in your theme’s folder
then create a file in this folder /woocommerce/loop/add-to-cart.php and leave the add-to-cart.php blank.
or in your functions.php
function remove_loop_button(){ remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); } add_action('init','remove_loop_button');
Hi, I did what you said and it worked but when you click on the product and go into it on the right It has a add to cart button as well. Is there perhaps a script get get rid of this to.
So you’re trying to remove _all_ add to cart buttons? How do people buy things at your store? ??
You can remove the add to cart button on the product page by amending the code helga gave you to look like this;
function remove_loop_button(){ remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); } add_action('init','remove_loop_button');
Hi, this is for a local bottle store that would like to showcase there products online and offer a free deliver via phone services. I made a sample page of a site a want to do for them.
https://mytestsite.mavericsa.co.za/
Thanks the code you gave me is cool now I don’t have any add to cart buttons on the site.
One problem though.
When I view it on a mobile browser all those buttons show up again. I just need to remove those then it’s all cool.
Would it be possible for you to please help me with this one last thing.
That will be fantastic.
Thanks again for you help.
I want to add
if(is_user_logged_in()
to this.
So if a user is NOT logged in then the cart button etc will not show.
Only if user logged in will they show.also want to add
remove_action( ‘woo_nav_after’, ‘wootique_cart_button’, 10);
remove_action( ‘woo_nav_after’, ‘wootique_checkout_button’, 20);Knowing little to nothing about php coding, I have tried and tried but with no luck.
Please would somebody help?Thank you for this information. I also need to remove the “add to cart” from only the product loop page. If the customer clicks on the “add to cart” button, I would like them to be directed to the individual product page. I have the plugin to change the text on the button, I just need to change where it takes them.
I am new to modifying the code, so if you could explain how to do this step by step with as much detail as you can, I would greatly appreciate it!
Thank you!
I was able to hide the Add to Cart button with just CSS:
.woocommerce .products .add_to_cart_button { display: none!important; /* Hides the Add to Cart button on the thumbnail pages */ }
Thx It’s works for me!
Hello,
For hidden price and button (add to cart) copy paste this code in function.php themplate.function remove_loop_button(){ if(is_user_logged_in()){}else remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); } add_action('init','remove_loop_button'); add_filter('woocommerce_get_price_html','members_only_price'); function members_only_price($price){ if(is_user_logged_in() ){ return $price; } else return '<a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Login</a> or <a href="'.site_url('/wp-login.php?action=register&redirect_to=' . get_permalink()).'">Register</a> to see price!'; }
For add a link button product add this :
<a style="clear:both; display:block;" class="button" href="'.get_permalink( $product->id ) .'">Lire plus</a>
before “;” in the last line
EX :function remove_loop_button(){ if(is_user_logged_in()){}else remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); } add_action('init','remove_loop_button'); add_filter('woocommerce_get_price_html','members_only_price'); function members_only_price($price){ if(is_user_logged_in() ){ return $price; } else return '<a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Login</a> or <a href="'.site_url('/wp-login.php?action=register&redirect_to=' . get_permalink()).'">Register</a> to see price! <a>id ) .'">Lire plus</a>'; }
Enjoy ! MIKE
Michael,
Will one of those codes hide just the add to cart button on the homepage? I don’t want to hide the price, I just want to disable the add to cart button. Having it there it reroutes every product on the page to the homepage which is creating an SEO issue of duplicate content. I’d be happy with just making it nofollow. I don’t mind it being there, I just don’t want the duplicate content issue. Thanks!
I made the site and know a little about code, but I’m no pro, FYI)Hi LolaEliz,
In my code they have 2 error i post here the new code :function remove_loop_button(){ if(is_user_logged_in()){}else remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); if(is_user_logged_in()){}else remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); } add_action('init','remove_loop_button'); add_filter('woocommerce_get_price_html','members_only_price'); function members_only_price($price){ if(is_user_logged_in() ){ return $price; } else return '<a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Login</a> or <a href="'.site_url('/wp-login.php?action=register&redirect_to=' . get_permalink()).'">Register</a> to see price! </br><a class="button linklove" style="display:block;"href="'.get_permalink().'">lire plus</a>'; }
And with the css hidden the link button on the sigle page( linklove display none !)!
For you i think it’s possible with this code :
<?php (is_page('home')); remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); ?>
Try this !
To make the Cart menu conitional, you can use the If Menu plugin to hide the cart menu under certain conditions.
Also the WooCommerce Menu Cart plugin and remove the Cart menu entirely can work.Thanks Guys!
I don’t think If Menu works with my theme. I went to the menu section after installing and activating it and there was no indication that the plugin was there. Plus, I don’t think it will solve the issue.
I think maybe I wasn’t clear. It’s not the cart in the navigation menu that I want to remove — unless removing it from the navigation bar removes it from each item on the home page.
On my homepage, each product is displayed, I guess on a loop because I didn’t put them there. Each as an “add to cart” button and a “View Products” button. The “add to cart” returns to the homepage — not to the product page and it adds nothing to the cart — so I end up with 30-some duplicate pages of the home page and google doesn’t like that.
Michael —
I’m a novice. Where do I put this code? (sorry to seem dumb about it.) Also, just to be clear, this will only remove the “add to cart” function from the homepage loop? It will still stay on the individual product page?
<?php (is_page('home')); remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); ?>
How about a way to add nofollow to the add to cart function? That sounds like an easier fix. Anyone know how to do that? Thank you!!
- The topic ‘Remove Add to Cart Buttons from Product Page’ is closed to new replies.