diff --git a/CHANGELOG.md b/CHANGELOG.md index 69a210c..24f6ff1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.2.1] - 2024-12-15 + +### Changed + +- Improved documentation with clearer explanation of single-password concept +- Added detailed use case examples (staging sites, client portals, photography galleries, etc.) +- Added "When NOT to use" guidance for users needing membership features + ## [1.2.0] - 2024-12-15 ### Changed diff --git a/README.md b/README.md index bcaa653..b3ecd6a 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,31 @@ # PassWP Posts -A WordPress plugin for password protecting your site's content. Protect all pages and posts or only selected ones—logged-in users always bypass. +A simple password protection plugin for WordPress—no usernames, no accounts, just one shared password. Share the password with those who need access and they're in. Perfect for situations where you need quick, hassle-free access control without user management. + +## When to Use This Plugin + +PassWP Posts is ideal when you need **simple shared access** without the overhead of user accounts: + +- **Staging Sites** — Share a password with clients to preview their site before launch +- **Client Portals** — Protect project documentation or deliverables with a single password +- **Pre-launch Sites** — Keep your "Coming Soon" site private while you finish development +- **Private Blogs** — Share personal content with family or friends using one easy password +- **Internal Resources** — Protect company wikis or documentation from public access +- **Event Websites** — Limit access to event details, schedules, or member areas +- **Photography Galleries** — Share client proofs with a simple password (no login required) +- **Educational Content** — Protect course materials for a class or workshop + +> **Note:** This is NOT a membership or user management plugin. If you need individual user accounts, different access levels, or tracking who accessed what, use a membership plugin instead. ## Features -- **Single Password Protection**: Set one password for your entire site (no username required) -- **Front Page Bypass**: The front page is always accessible without a password -- **Logged-in User Bypass**: Authenticated users skip the password prompt -- **Protection Modes**: Protect all content (with exclusions) or only selected pages/posts -- **Customizable Password Form**: Personalize colors, typography, logo, and more with live preview -- **Preset Themes**: Choose from built-in themes (Default Purple, Business Blue, Dark Mode) -- **Remember Me**: Visitors stay authenticated for a configurable duration -- **Secure Cookie Handling**: Uses SHA256 hashing with WordPress salts for cookie security -- **Native WordPress Methods**: Built using WordPress Settings API and password functions +- **One Password, No Username** — Visitors just enter the password—no account creation, no login forms +- **Front Page Always Public** — Your homepage remains accessible to everyone +- **Logged-in User Bypass** — WordPress users (editors, admins) skip the password prompt +- **Flexible Protection** — Protect all content (with exclusions) or only selected pages/posts +- **Customizable Form** — Match your brand with colors, typography, logo, and preset themes +- **Remember Me** — Visitors stay authenticated for a configurable duration +- **Secure** — Uses WordPress-native password hashing and secure cookies diff --git a/package.json b/package.json index 3858670..77919d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "passwp-posts", - "version": "1.2.0", + "version": "1.2.1", "description": "Password protects all pages and posts except the front page", "type": "module", "scripts": { diff --git a/passwp-posts.php b/passwp-posts.php index 69e1275..b478be8 100644 --- a/passwp-posts.php +++ b/passwp-posts.php @@ -3,7 +3,7 @@ * Plugin Name: PassWP Posts * Plugin URI: https://developer.suspended.no/passwp-posts * Description: Password protects all pages and posts except the front page. Logged-in users bypass the password. - * Version: 1.2.0 + * Version: 1.2.1 * Author: Per Soderlind * Author URI: https://soderlind.no * License: GPL-2.0+ @@ -22,7 +22,7 @@ defined( 'ABSPATH' ) || exit; // Plugin constants. -define( 'PASSWP_POSTS_VERSION', '1.2.0' ); +define( 'PASSWP_POSTS_VERSION', '1.2.1' ); define( 'PASSWP_POSTS_PATH', plugin_dir_path( __FILE__ ) ); define( 'PASSWP_POSTS_URL', plugin_dir_url( __FILE__ ) ); define( 'PASSWP_POSTS_BASENAME', plugin_basename( __FILE__ ) ); diff --git a/readme.txt b/readme.txt index d0ae361..1f1ac5d 100644 --- a/readme.txt +++ b/readme.txt @@ -4,35 +4,50 @@ Tags: password, protection, privacy, security, access control Requires at least: 6.8 Tested up to: 6.9 Requires PHP: 8.3 -Stable tag: 1.2.0 +Stable tag: 1.2.1 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html -Password protect your site's content. Protect all pages and posts or only selected ones—logged-in users always bypass. +A simple password protection plugin—no usernames, no accounts, just one shared password for quick, hassle-free access control. == Description == -PassWP Posts is a simple yet powerful plugin that adds password protection to your entire WordPress site. Unlike WordPress's built-in password protection which works per-post, this plugin protects everything with a single password. +PassWP Posts adds simple password protection to your WordPress site. **No usernames, no user accounts**—just share one password with those who need access. Visitors enter the password and they're in. + +This is ideal when you need quick, shared access without the complexity of user management. + +**How It Differs from WordPress Built-in Protection:** + +* WordPress's per-post password protection requires a password for each individual post +* PassWP Posts uses one password for your entire site (or selected content) +* No need to share multiple passwords for multiple pages **Key Features:** -* **Single Password** - One password protects your entire site (no username needed) -* **Front Page Always Accessible** - Your homepage remains public -* **Logged-in User Bypass** - Authenticated users skip the password prompt -* **Protection Modes** - Protect all content (with exclusions) or only selected pages/posts -* **Customizable Password Form** - Personalize colors, typography, logo, and more -* **Preset Themes** - Choose from Default Purple, Business Blue, or Dark Mode -* **Live Preview** - See your customizations in real-time before saving -* **Remember Me** - Visitors stay authenticated for configurable durations -* **Secure** - Uses WordPress native password hashing and secure cookies +* **One Password, No Username** - Visitors just enter the password—no accounts needed +* **Front Page Always Public** - Your homepage remains accessible to everyone +* **Logged-in User Bypass** - WordPress users (editors, admins) skip the prompt +* **Flexible Protection** - Protect all content (with exclusions) or only selected pages/posts +* **Customizable Form** - Match your brand with colors, typography, and logo +* **Preset Themes** - Quick-start with Default Purple, Business Blue, or Dark Mode +* **Live Preview** - See changes in real-time before saving +* **Remember Me** - Visitors stay authenticated for your configured duration +* **Secure** - Uses WordPress-native password hashing and secure cookies + +**When to Use This Plugin:** -**Perfect For:** +* **Staging sites** - Share a password with clients to preview before launch +* **Client portals** - Protect project files or deliverables +* **Pre-launch websites** - Keep "Coming Soon" sites private during development +* **Private blogs** - Share personal content with family or friends +* **Internal resources** - Protect company documentation from public access +* **Event websites** - Limit access to event details or member-only areas +* **Photography galleries** - Share client proofs without requiring login +* **Educational content** - Protect course materials for a class -* Staging sites that need client access -* Private blogs or journals -* Member-only content areas -* Pre-launch websites -* Internal company resources +**When NOT to Use This Plugin:** + +If you need individual user accounts, different access levels, or tracking who accessed what—use a membership plugin instead. PassWP Posts is for simple shared access, not user management. == Installation == @@ -100,6 +115,11 @@ You may need to exclude protected pages from caching or configure your caching p == Changelog == += 1.2.1 = +* Improved documentation with clearer explanation of single-password concept +* Added detailed use case examples (staging sites, client portals, etc.) +* Added "When NOT to use" guidance for users needing membership features + = 1.2.0 = * Refactored to PSR-4 autoloading with Composer * Renamed class files to PascalCase (AdminSettings, CookieHandler, GitHubPluginUpdater, Protection) @@ -155,6 +175,9 @@ You may need to exclude protected pages from caching or configure your caching p == Upgrade Notice == += 1.2.1 = +Documentation improvements. + = 1.2.0 = Code refactoring with PSR-4 autoloading.