At the time of this writing, the latest version of WordPress, version 4.2.2, has 3 post visibility options, which are ‘public’, ‘password protected’, and ‘private’.
The ‘password protected’ option allows the site administrator to individually lock certain posts, even from the logged in users, with an additional password. However, there is currently no built-in way to just deny access only to the unauthenticated users.
LoginRequirePress is a WordPress plugin that allows site administrators to specifically designate arbitrary posts with any public post type as viewable only after user login.
It is an easy way to require user login to view specific pages / posts.
Unauthenticated site visitors attempting to view any page that includes any such specifically designated post will then be automatically redirected to the site’s default login page, and then back to the original page after they login, thereby limiting access only to logged-in users with subscriber roles and above.
Plugin will still allow unauthenticated downloading of site’s feeds, but will filter out all login-requiring posts from the feed listings.
Plugin will protect the titles and contents of login-requiring posts in search result page listings when the user is not logged in. The titles / contents will be replaced by text “[Post title / content protected by LoginRequirePress. Login to see the title / content.]”
Plugin works by hooking-in special logic into the action ‘send_headers’ to redirect unauthenticated client browsers to the site’s login page from any non-feed and non-search-results page upon detecting any login-requiring post, and by hooking-in another special logic into the filter ‘posts_results’ to filter out all login-requiring posts from all feed page listings, and to protect the titles and contents of login-requiring posts in search result page listings.
Please post issues / bugs to https://github.com/maratbn/LoginRequirePress/issues.