It is possible to show-hide categories based on your WordPress site user roles. The CaPa Protect is a free WordPress plugin lets allows you to hide or display categories based on user roles types like Editor, Author, Contributor etc. The plugin also provides you the feature of showing a message whenever a someone arrives without permission on a protected blog post of your website. Also you can simply hide everything and your user will not be able to know the existence of hidden post.
Install and activate CaPa Protect plugin then visit its options page (Dashboard -> CaPa); here you will be seeing tables showing user roles and categories. Now all you have to do is check the radio buttons and exclude user roles from the listed categories.
Partial CaPa Plugin Feature List:
- Customize access for specific Pages, Posts, Categories
- Customize access for roles & users
- Protect RSS Feed (Entries & Comments)
- Protect XMLRPC (Shows only allowed recent Posts)
- Keep Settings by deactivate CaPa