We'll create fresh WordPress site with Login Require Press installed. You have 20 minutes to test the plugin after that site we'll be deleted.
Overview:
At the time of this writing, the latest version of WordPress, version 5.3, 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 / passcode. However, there is currently no built-in way to just deny access only to the unauthenticated users.
Login Require Press is a WordPress plugin that allows site administrators to specifically designate arbitrary posts with any public post type as viewable only after user login. Post authors can also enable or disable login protection for their own posts.
It is an easy way to require 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, contents, and excerpts of login-requiring posts in search result page listings when the user is not logged in. The titles / contents / excerpts will be replaced by text “[Post title / content / excerpts protected by Login Require Press. Login to see the title / content / excerpt.]”
Technical summary:
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, contents, and excerpts of login-requiring posts in search result page listings.
Login-requiring posts are marked with a custom field ‘login_require_press’ set to ‘yes’.
Official project URLs:
https://github.com/maratbn/LoginRequirePress
https://wordpress.org/plugins/loginrequirepress
http://www.maratbn.com/projects/login-require-press