{"id":26833,"date":"2013-12-21T04:56:01","date_gmt":"2013-12-21T04:56:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/tr-register-only\/"},"modified":"2026-03-01T21:08:29","modified_gmt":"2026-03-01T21:08:29","slug":"tr-register-only","status":"publish","type":"plugin","link":"https:\/\/gu.wordpress.org\/plugins\/tr-register-only\/","author":13360495,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0.0","stable_tag":"2.0.0","tested":"6.7.5","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"TR Register Only","header_author":"TechieResource","header_description":"","assets_banners_color":"1d3655","last_updated":"2026-03-01 21:08:29","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/tr-register-only\/","header_author_uri":"https:\/\/techieresource.com\/","rating":5,"author_block_rating":0,"active_installs":30,"downloads":4431,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"techieresource","date":"2013-12-21 05:44:39"},"2.0.0":{"tag":"2.0.0","author":"techieresource","date":"2026-03-01 21:08:29"}},"upgrade_notice":{"2.0.0":"<p>Major update with new features including role-based access, page whitelisting, REST API protection, and custom redirect URLs. Settings are stored fresh \u2014 please review your configuration after upgrading.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":"3"},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3472250,"resolution":"128x128","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3472250,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","2.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Settings page with all configuration options"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[602,19898,870,603,1914],"plugin_category":[38,58],"plugin_contributors":[91138],"plugin_business_model":[],"class_list":["post-26833","plugin","type-plugin","status-publish","hentry","plugin_tags-login","plugin_tags-members-only","plugin_tags-private","plugin_tags-registration","plugin_tags-restrict","plugin_category-authentication","plugin_category-user-management","plugin_contributors-techieresource","plugin_committers-techieresource"],"banners":{"banner":"https:\/\/ps.w.org\/tr-register-only\/assets\/banner-772x250.png?rev=3472250","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tr-register-only\/assets\/icon-128x128.png?rev=3472250","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>TR Register Only<\/strong> makes your entire WordPress site private. Once enabled, only logged-in users can access any page, post, or custom post type. Everyone else is redirected to the login page (or a custom URL of your choice).<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li>\u2705 One-click enable\/disable toggle<\/li>\n<li>\ud83d\udd12 Role-based access control \u2014 set minimum required user role<\/li>\n<li>\u21a9\ufe0f Redirect to WordPress login page or any custom URL<\/li>\n<li>\ud83d\udcac Custom message shown on the login page<\/li>\n<li>\ud83d\udccb Whitelist specific pages for public access (e.g. pricing, landing pages)<\/li>\n<li>\ud83c\udfe0 Optionally whitelist the home\/front page<\/li>\n<li>\ud83d\udce1 Optionally restrict REST API to authenticated users<\/li>\n<li>\ud83e\uddf9 Clean uninstall \u2014 removes all data when deleted<\/li>\n<\/ul>\n\n<p><strong>Perfect for:<\/strong><\/p>\n\n<ul>\n<li>Private\/members-only communities<\/li>\n<li>Staging and development sites<\/li>\n<li>Corporate intranets<\/li>\n<li>Schools and educational platforms<\/li>\n<li>Subscription-based content sites<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>tr-register-only<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin from <strong>Plugins &gt; Installed Plugins<\/strong><\/li>\n<li>Go to <strong>Settings &gt; TR Register Only<\/strong> to configure<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20lock%20me%20out%20of%20the%20admin%3F\"><h3>Will this lock me out of the admin?<\/h3><\/dt>\n<dd><p>No. The WordPress login page (<code>wp-login.php<\/code>) is always whitelisted automatically, so you can always log in.<\/p><\/dd>\n<dt id=\"can%20i%20allow%20some%20pages%20to%20be%20publicly%20accessible%3F\"><h3>Can I allow some pages to be publicly accessible?<\/h3><\/dt>\n<dd><p>Yes. In Settings, enter the page IDs you want to keep public under \"Whitelisted Page IDs\". Separate multiple IDs with commas.<\/p><\/dd>\n<dt id=\"does%20this%20protect%20the%20rest%20api%20too%3F\"><h3>Does this protect the REST API too?<\/h3><\/dt>\n<dd><p>Optionally. Enable \"Protect REST API\" in settings to require authentication on all REST endpoints. Note this may break plugins that rely on unauthenticated API calls.<\/p><\/dd>\n<dt id=\"how%20do%20i%20find%20a%20page%27s%20id%3F\"><h3>How do I find a page's ID?<\/h3><\/dt>\n<dd><p>Go to Pages &gt; All Pages, hover over a page, and the ID appears in the URL at the bottom of the browser (e.g. <code>post=42<\/code>).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Complete rewrite for modern WordPress 6.x compatibility<\/li>\n<li>Added role-based access control (minimum role setting)<\/li>\n<li>Added custom URL redirect option<\/li>\n<li>Added page whitelist feature<\/li>\n<li>Added home page whitelist option<\/li>\n<li>Added REST API protection option<\/li>\n<li>Added custom login message support<\/li>\n<li>Added clean uninstall (removes options on delete)<\/li>\n<li>PHP 8.x compatible<\/li>\n<li>Singleton pattern with proper OOP architecture<\/li>\n<li>Full input sanitization and escaping<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Restrict your WordPress site to registered\/logged-in users only. Perfect for private communities, staging sites, and intranet portals.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/gu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/26833","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/gu.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/gu.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=26833"}],"author":[{"embeddable":true,"href":"https:\/\/gu.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/techieresource"}],"wp:attachment":[{"href":"https:\/\/gu.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=26833"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/gu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=26833"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/gu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=26833"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/gu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=26833"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/gu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=26833"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/gu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=26833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}