{"id":324673,"date":"2026-06-15T09:10:47","date_gmt":"2026-06-15T09:10:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/better-protected-password-pages\/"},"modified":"2026-06-15T09:10:26","modified_gmt":"2026-06-15T09:10:26","slug":"better-protected-password-pages","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/better-protected-password-pages\/","author":8017702,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.29","stable_tag":"0.1.29","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Better Protected Password Pages","header_author":"Better Protected Password Pages","header_description":"Improves the default WordPress password-protected page experience.","assets_banners_color":"","last_updated":"2026-06-15 09:10:26","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/better-protected-pages\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":25,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.29":{"tag":"0.1.29","author":"niallolaoghaire","date":"2026-06-15 09:10:26"}},"upgrade_notice":{"0.1.28":"<p>Initial MVP release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.29"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[30795,26180,396,12100,47690],"plugin_category":[54],"plugin_contributors":[267198],"plugin_business_model":[],"class_list":["post-324673","plugin","type-plugin","status-publish","hentry","plugin_tags-password-form","plugin_tags-password-protected","plugin_tags-privacy","plugin_tags-protected-pages","plugin_tags-protected-posts","plugin_category-security-and-spam-protection","plugin_contributors-niallolaoghaire","plugin_committers-niallolaoghaire"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/better-protected-password-pages.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Better Protected Password Pages is a lightweight plugin for improving WordPress's built-in password-protected posts and pages.<\/p>\n\n<p>The plugin keeps the native WordPress password protection workflow, then adds simple controls for the visitor-facing password form.<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li>Remove the default \"Protected:\" prefix from protected content titles.<\/li>\n<li>Customize the password form intro text.<\/li>\n<li>Customize the submit button label.<\/li>\n<li>Customize the failed password message.<\/li>\n<li>Add an optional password field placeholder.<\/li>\n<li>Set the protected content password cookie duration.<\/li>\n<li>Add an optional logo\/image above the password form.<\/li>\n<li>Set optional button and form background colours.<\/li>\n<li>Add optional custom CSS classes to the password form wrapper.<\/li>\n<li>Enable lightweight default styling for password forms.<\/li>\n<li>Add per-page\/post overrides for password-protected content.<\/li>\n<li>Reset settings to defaults.<\/li>\n<\/ul>\n\n<p>Better Protected Password Pages is intentionally small. It does not replace WordPress roles, membership plugins, or access-control systems.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>better-protected-pages<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <strong>Better Protected Password Pages<\/strong> through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Go to <strong>Settings &gt; Better Protected Password Pages<\/strong>.<\/li>\n<li>Configure the global password form settings.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20replace%20wordpress%20password%20protection%3F\"><h3>Does this replace WordPress password protection?<\/h3><\/dt>\n<dd><p>No. It uses WordPress's built-in password-protected content feature and improves the title and password form experience.<\/p><\/dd>\n<dt id=\"can%20i%20set%20different%20settings%20per%20page%3F\"><h3>Can I set different settings per page?<\/h3><\/dt>\n<dd><p>Yes. Password-protected posts, pages, and public custom post types can use per-content overrides for form text, failed password text, logo\/image, and colours.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20membership%20plugins%3F\"><h3>Does this work with membership plugins?<\/h3><\/dt>\n<dd><p>Membership plugin integrations are not part of the current scope.<\/p><\/dd>\n<dt id=\"does%20this%20include%20a%20visual%20styling%20builder%3F\"><h3>Does this include a visual styling builder?<\/h3><\/dt>\n<dd><p>No. The plugin includes an optional lightweight default stylesheet and a custom CSS class field for theme or custom CSS targeting.<\/p><\/dd>\n<dt id=\"will%20the%20password%20form%20match%20my%20theme%3F\"><h3>Will the password form match my theme?<\/h3><\/dt>\n<dd><p>By default, the form relies on your active theme. If you enable the default styling option, the plugin loads a small stylesheet that adds light form structure.<\/p><\/dd>\n<dt id=\"what%20happens%20on%20uninstall%3F\"><h3>What happens on uninstall?<\/h3><\/dt>\n<dd><p>The plugin removes its saved settings and per-content override metadata when uninstalled.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.29<\/h4>\n\n<ul>\n<li>Initial MVP.<\/li>\n<li>Removes the default \"Protected:\" title prefix.<\/li>\n<li>Adds global settings for password form intro text, button label, placeholder, and cookie duration.<\/li>\n<li>Adds failed password message, logo\/image, button colour, and background colour settings.<\/li>\n<li>Adds optional custom CSS class support and lightweight default styling.<\/li>\n<li>Adds per-page\/post override settings for protected content.<\/li>\n<li>Adds uninstall cleanup.<\/li>\n<\/ul>","raw_excerpt":"Improve the default WordPress password-protected content experience with global settings and per-content overrides.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/324673","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=324673"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/niallolaoghaire"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=324673"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=324673"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=324673"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=324673"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=324673"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=324673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}