Here’s what seems to have worked for me:
Log in and go to the Administration Control Panel->Forums->Forum Permissions. Select all the forums you want hidden to the world, then click Submit.
Now you’ll see four boxes. In the upper right box, where it says “Manage groups,” select any groups who should *not* have access — pretty much all except Registered Users (in your case) and Administrators, and maybe Global Moderators if you use them — then click below on “Remove permissions.” Confirm your choice when prompted.
See that screen at https://i162.photobucket.com/albums/t273/tmneast/pony_only_permissions.jpg
That should do it. The only difference in my case from what I described above was that I chose just a single forum to hide, rather than all, and made a custom user group (instead of Registered Users, which is what you’d use) who are allowed access. One can choose any or all forums. Whatever forums you *don’t* choose will still appear on the main page.
Granted, I’m a total noob at WordPress, but this seems to work fine. When I log in as a user who’s not in the custom user group (Pony Only group), the “Pony Only” forum doesn’t appear. In your case you’ll just want to hide them all instead of just one.
You can see what I mean here: https://monadnocksquadron.org/crewslounge. As you’re not registered and in the custom group, you see everything *but* the “Pony Only forum.”
Someone please correct me if this is bad advice. ??
—–
Oops, I just had a thought. My custom group was set to Closed (but not to hidden). I don’t know if you can do that with the Registered Users group. Should my method fail for you, perhaps you can find a way to make all registered users part of a custom group and then do what I did. Or, hopefully, someone more experienced will come along and suggest something better.