Synch Custom Post Types (and Custom Fields, Cats, etc.) Between WordPress Sites

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.

  1. 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.
  2. 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.
  3. 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.