WooCommerce Hide Products by User Roles
With WooCommerce Products Visibility plugin you can decide which products will be visible site-wide for each user role.
Bear in mind that WooCommerce Products Visibility is the ONLY plugin that offers you combined visibility rules. That means that you can hide products, categories and tags both at the same time for a particular role.
It is also the ONLY plugin that hides the selected products, categories and tags from your whole website, eg. from the menus, the widgets and even from the theme you use, as long as the theme is using standard WordPress filters.