// Hide prices add_action('after_setup_theme','magik_activate_filter') ; function magik_activate_filter() { add_filter('woocommerce_get_price_html', 'magik_show_price_logged'); } function magik_show_price_logged($price) { if(is_user_logged_in() ) { return $price; } else { remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 ); remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 ); return '<a href="' . get_permalink(woocommerce_get_page_id('myaccount')) . '">Login to order</a>'; } } //Option Two (If you decided to use Option One then don't add the following code) add_filter('woocommerce_is_purchasable', 'my_woocommerce_is_purchasable', 10, 2); function my_woocommerce_is_purchasable($is_purchasable, $product) { $isLoggedIn = is_user_logged_in(); if(true == $isLoggedIn){ //Make product purchasable to logged in user return true; } //Make product not purchasable to unlogged in user return false; }