I need to hide the price and add to cart button for non logged user on my website, I try with some code I found on the web but it's not entirely working.
Here is the code :
add_action('after_setup_theme', 'activate_filter');
function activate_filter()
{
add_filter('woocommerce_get_price_html', 'show_price_logged');
add_filter('woocommerce_get_suffix_html', 'show_price_logged');
}
function show_price_logged($price)
{
if (is_user_logged_in()) {
return $price;
} else {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
return 'Veuillez vous <a href="' . get_permalink(woocommerce_get_page_id('myaccount')) . '">connecter</a> afin de visualiser nos tarifs';
}
}
This replace the price with a text only for products who are "Variable product", for normal product I just have nothing instead of the price.
And also with the theme I use (flatsome) I can view the product inside a modal, and here I still have the Add To Cart button.
What can I add to hide this button in the modal and show the text instead of the price for non variable products ?