You’ve created a structure that is going to be difficult to manage. Independent WordPress sites do not communicate by default, or readily, or easily.
- My suggestion would be to roll both sites into one with the course
catalog being a custom post type with rigid controls over who can
view the content. - If that is not possible, then I’d suggest creating a kind of API for
the private site so that the main site can access to retrieve
information. There are some plugins out there that do at least part
of that, but I have never used any of them and can’t recommend any. - Depending on your hosting, you may be able to set up a new
wpdb
object and access one database from the other site directly. i
suppose, you could consider that a subset of the preceding
suggestion.
None of the solution are going to be easy or quick. Whichever way you go, you have a pretty involved project ahead of you– much more involved than can be reasonably “solved” in an answer here.
Syncing content like you are thinking of doing, or are trying to do, is going to be even more complicated, labor and server intensive, and I would put my money on “extremely error prone” as well.