Yeah, you understand it correctly.
My site (guessages.com) uses 2 custom post types, “guess” and “photo”. Users guess the age of photos that other users have submitted. Your plugin connects the guesses to the photos.
Every photo and every guess submitted I create as private posts, so they’re only available to the logged in user unless I override that.
When a user submits their photos they can choose to make it active, putting it in the pool of photos to be guessed by everyone, but anytime they want to revert and make it inaccessible I have to change the post status. As the plugin stands, I can’t differentiate between whether to display a photo in the main pool or not (without using meta or custom SQL, of course).
I guess the tricky thing for you to decide is if you want to add something like this and where to draw the line. You could create almost every parameter WP_Query offers prefaced by “connected_”. I could also stand to benefit from “connected_author”. When querying for guesses that the current logged in user made I have to use meta, like so:
'connected_meta' => array(
array(
'key' => 'guesser_id',
'value' => $current_user->ID,
'compare' => '=',
'type' => 'numeric'
)
)
… it would be much easier to use this:
'connected_author' => $current_user->ID