Hide price and "add to cart" of particular category for non-logged in user.
-
I’m using this code to hide product price and “add to cart” button of particular category for non-logged in user-
add_action('woocommerce_get_price_html','members_only_price'); function members_only_price($price){ global $post, $product; $terms = get_the_terms( $product->ID, 'product_cat' ); foreach ( $terms as $term ) $categories[] = $term->slug; if ( ! is_user_logged_in() && in_array( 'MY-CATEGORY-SLUG', $categories ) ) { remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10, 2); remove_action( 'woocommerce_before_add_to_cart_form', 'woocommerce_template_single_product_add_to_cart', 10, 2); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); remove_action( 'init', 'woocommerce_add_to_cart_action', 10); return 'Only <a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Registered Users</a> are able to view pricing.'; } else { add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10, 2); add_action( 'init', 'woocommerce_add_to_cart_action', 10); add_action( 'init', 'woocommerce_checkout_action', 10 ); return $price; } }
Its working all fine but I’m having a very weird problem. The very first product (newly added product) is showing add to cart button though all the other products is alright.
here is the link- https://tinyurl.com/moawg4e
- The topic ‘Hide price and "add to cart" of particular category for non-logged in user.’ is closed to new replies.