Reputation: 84
I have an event based WordPress website on that I sell tickets using WooCommerce. Is there any way to hide the "add to cart" button for the product having cost zero?
Thanks.
Upvotes: 3
Views: 8006
Reputation: 95
This may be a suitable solution according to the documentation
woocommerce_is_purchasable
– filter
Function name: WC_Product::is_purchasable
is_purchasable()
— Returns false if the product cannot be bought.
function remove_add_to_cart_on_0 ( $is_purchasable, $product ){
if( $product->get_price() == 0 ) {
return false; }
else {
return $is_purchasable; }
}
add_filter( 'woocommerce_is_purchasable', 'remove_add_to_cart_on_0', 10, 2 );
Upvotes: 2
Reputation: 164
This code work like charm in function.php using this two filter.
add_filter('remove_add_to_cart', 'my_woocommerce_is_purchasable', 10, 2);
function remove_add_to_cart($is_purchasable, $product) {
if( $product->get_price() == 0 )
$is_purchasable = false;
return $purchasable;
}
function remove_add_to_cart_on_0 ( $purchasable, $product ){
if( $product->get_price() == 0 )
$purchasable = false;
return $purchasable;
}
add_filter( 'woocommerce_is_purchasable', 'remove_add_to_cart_on_0', 10, 2 );
Upvotes: 0
Reputation: 483
You write this code in your theme function.php
function remove_add_to_cart_on_0 ( $purchasable, $product ){
if( $product->get_price() == 0 )
$purchasable = false;
return $purchasable;
}
add_filter( 'woocommerce_is_purchasable', 'remove_add_to_cart_on_0', 10, 2 );
Upvotes: 4