Snippet que sirve para ocultar los precios a usuarios no registrados en WooCommerce. Si no están registrados aparecerá el texto “Debes estar registrado para ver los precios”. Podrán navegar por la tienda en modo catálogo, pero no podrán comprar ni ver los precios hasta que no se registren.
Snippet para ocultar los precios a usuarios no registrados en WooCommerce
// Oculta el precio de los productos para usuarios no registrados add_action( 'init', 'wdm_hide_price_add_cart_not_logged_in' ); function wdm_hide_price_add_cart_not_logged_in() { if ( !is_user_logged_in() ) { remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); remove_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 ); remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 10 ); remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 ); remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 ); add_action( 'woocommerce_single_product_summary', 'wdm_print_login_to_see', 31 ); add_action( 'woocommerce_after_shop_loop_item', 'wdm_print_login_to_see', 11 ); } } function wdm_print_login_to_see() { if ( !is_home() ){ echo '<a href="' . get_permalink( woocommerce_get_page_id('myaccount') ) . '" class="hide-product-price">Debes estar registrado para ver los precios</a>'; } }