: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
=== Passster - Password Protect Pages and Content ===
Contributors: patrickposner
Tags: password protect, password, restrict content, sitewide, password protection
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Password protect pages, your entire website or just parts of your content with a single password.
Passster is the **all-in-one** password protection plugin for WordPress - secure pages, your entire website or partial content with passwords in seconds.
Passster offers three protection modes to cover every use case you may think of when it comes to password protecting your WordPress website.
Areas are protected sections (partial content) that can be added via block or shortcode into a page.
You can easily add your content and edit it with your pagebuilder of choice and you get a shortcode that can be copied and used within your page.
Edit a page, activate the protection and add a password - that's it the password protection is set up.
It will protect the entire page for you but will still display the header and footer of your website, so it fits perfectly with any kind of theme.
Navigate to Passster -> Settings -> Global Protection, activate the protection, select a page and optionally exclude pages from the protection.
Once configured all visitors will be redirected to that page and need to provide the correct password to further navigate through your website.
Perfect for membership-like websites without all the configuration hustle you experienced before.
== Password Protected Features (Free version) ==
= Password Protect parts of your website =
Easily protect parts of your website with password protected areas.
Create an area, copy and paste the generated shortcode into a page and it will be protected.
= Password Protect pages =
You can quickly protect entire pages with Passster by enabling the protection settings while editing it.
= Password Protect child pages =
Quickly set up password protection for child pages by enabling it on the parent page.
Once you change the password on the parent page it will be automatically update all child pages for you.
= Global Password Protection =
Quickly lock down your entire website behind a password with the built-in global password protection.
= Unlock Password Protected Content without Page Refresh =
Let visitors unlock your password-protected content without refreshing the page (by using Ajax).
That enhances the user expierence and offers a great way to restrict content without having to worry about caching conflicts.
= Customize the password protection form =
Passster offers a huge variety of settings to customize the password-protection form.
Change labels, description, colors of the form, headlines, buttons, modify the spacing (margin/padding) and center the form without touching code.
= Cookie-based password-protection =
Use the built-in cookie solution to unlock multiple password-protected areas or pages that share the same password.
== Password Protected Features (Pro version) ==
[youtube https://youtu.be/ihZc10pSKbg]
Additionally to all the free features already mentioned there is also a pro version of Passster that enhances the feature set with:
= Password protect content with multiple passwords =
Use an unlimited number of passwords or bundle them within a password list for even easier management.
= Quick Edit and Bulk Edit for password protection =
Use the WordPress Quick Edit and Bulk Edit function to manage your protected pages or posts in no time.
Select the pages, set the protection mode and add your password and you can protect every page without even editing it.
= Unlock password-protected content by user role or e-mail =
Automatically unlock protected content for specific user roles or by providing e-mail addresses.
Expire passwords by the number of usages, first usage or after a specific time intervall (hours, days, weeks, months..)
Passster also includes detailed statistics so you know exactly:
- which password was used
- how often the password wad used
= Generate unlock links =
You can generate unlock links that include an encrypted version of the password within the URL.
Once a visitor clicks on the link all protected areas and pages will be unlocked automatically without the necessity to manually add a password.
You can also use Bit.ly to automatically shorten the URLs for you.
= Password Protect WooCommerce =
Password Protect your WooCommerce store with Passster.
Protect products, cart, checkout, your store page and more with a password.
= Sell access to protected content with WooCommerce =
Passster automatically generates a password after purchasing the configured product and sends an e-mail to the user.
This e-mail includes the generated password and an unlock link for quick access.
It's easy to set up and entirely automated so you don't have spend hours getting into complex configuration setups you might know from membership plugins.
= Password Usage Statistics =
Get an detailed view into the password usage of your WordPress website.
Track the number of usages, the first usage, the IP (optional) and the browser used to unlock the content.
= Quick comparison (free vs. pro) =
* Password-Protect sections of your page with areas and add them via shortcode or block
* Password-Protect entire pages or posts
* Automatically password-protect child pages with a single click
* Password-Protect your entire website with a password
* Use Ajax to unlock protected areas without a reload
* Change the design, labels and descriptions globally, per area, per page or per block
* Use a cookie to automatically unlock different password-protected areas and pages with the same password
Everything from the free version plus:
* Password-Protect your content with multiple passwords or password lists (large sets of passwords)
* Quickly setup password-protection via quick editing or bulk editing pages and posts
* Protect your content with Google reCAPTCHA (v2/v3) or hCAPTCHA
* Automatically unlock password-protected content by user role or user e-mail
* Expire passwords by first time usage, after a number of usages or by interval (hours, days, weeks, months)
* Create and share unlock links to unlock protected content automatically (optionally shorten them with Bit.ly)
* Track and block concurrent password usages and prevent password sharing
* Password-Protect WooCommerce products and the store page
* Selling passswords with WooCommerce
* Statistics about password usage (generally and per password list)
Paired with exceptional support directly from the developer, regular updates and feature integrations, and extensive documentation you can't go wrong with Passster Pro.
Get it now on [patrickposner.com/passster/](https://patrickposner.com/passster/)
I regularly optimize the documentation and release extensive tutorials on how to use Passster in a multitude of use-cases.
Learn more on [patrickposner.com/passster/docs](https://patrickposner.com/passster/docs/)
The free support is exclusively limited to the wordpress.org support forum.
Any kind of email priority support, customization, and integration help need a valid premium license.
=== CODING STANDARDS MADE IN GERMANY ===
The plugin is coded with **modern PHP** and **WordPress standards** in mind. It’s fully OOP coded.
It’s highly extendable for developers through several actions and filter hooks.
Passster keeps your website performance in mind. Every script is **loaded conditionally**, and all input and output data is secured.
All primary texts and information can be modified from the admin area of Passster.
The plugin is fully translatable in your language. There are only en_EN and de_DE at the moment, but you can easily add your preferred language as a .po/.mo.
It’s also fully compatible with WPML and Polylang.
1. Passster Password Form
3. Passster Customizer Options
Passster is simple to install:
1. Upload the directory to your '/wp-content/plugins' directory
1. Go to the plugin management page and enable the Passster Plugin
1. Browse to Settings > Passster
1. Customise your settings and your good to go!
* improved expiration for passwords with unlock links
* fixed escaping for redirect parameter
* several security improvements
* updated to 6.5 compatibility
* exclude pagebuilders from rest restriction (frontend editing)
* fixed components for WP 6.4.3 release (margin/radius)
* restrict Rest API access with global protection
* added exception for sanitized array setting (exclude pages)
* added hook to combine generated password with order
* improved sanitization on importer
* added russian + ukrainian translation
* WordPress 6.4 compatibility
* WooCommerce email trigger after status complete
* added filter for generated password
* protected page optional for WooCommerce integration
* improved admin UI contrasts
* restructured design settings
* some Freemius integration improvements
* improved logout button markup
* added action after validating password list hash
* Freemius SDK update to 2.5.10
* improved admin UI with permanent sidebar
* improved value handling for margin/padding to avoid PHP notices
* added filter to validate payment before sending e-mail (pro-only)
* selling and generating passwords with WooCommerce (pro-only)
* assign and manage multiple passwords lists (pro-only)
* hotfix editing areas with Oxygen Builder
* helper methods to automatically generate and add passwords to lists
* statistics for password usage + custom database table
* expiration statistics for passsword lists
* fixed area shortcode inspector controls
* GPDR friendly tracking implementation
* reverted hcaptcha integration
* updated admin links to new URL structure
* fixed expiration settings with new encryption
* fixed PHP notice if reCaptcha doesn't return a response
* v4 API integration for Bit.ly
* fixed conditional for unlock links
* support for additional URL parameters in cache friendly URLs
* prevent multiple renders in quick edit
* removed default margin from CSS
* copy shortcode with fallback for Block Editor
* removed deprecated compatibility method
* fallback solution to get post id in classic editor
* fixed saving meta data in classic editor
* compatibility with disable gutenberg plugin
* fixed regex pattern in deprecated shortcode
* removed regex pattern for captcha as the feature no longer exists
* quick edit and bulk edit pages/posts for protection (pro-only)
* hCaptcha protection (pro-only)
* preventing PHP notices with concurrent usage and recaptcha
* better dynamics for admin column + less intrusive styling
* fixed reCAPTCHA selection not saving in admin
* improved fallback margin/padding for protection block
* improved description of the unlock mode to make it easier to understand
* entirely new admin UI rewritten with React
* custom block to select areas
* ability to generate passwords
* improved global protection UI
* ability to exlude pages from global protection
* on-the-fly unlock link generation
* modified Freemius prefix to prevent compatibility errors with Post SMTP plugin
* fixed Elementor integration with areas.
* improved fallback solution to convert base64 to hmac
* changed validation priority: cookies - links - post data for quicker validation
* integrated converter to automatically convert old link encryption to new hashed encryption
* fixed missing hash_nonce value in wp_localize_scripts
* dynamic version number for cache busting after update
* new encryption for encrypted links
* cleared up upgrade/activation code
* includes + load_textdomain in plugins_loaded
* fixed task priority with global protection and redirect
* fixed ReCaptcha v2 validation and content return statement
* better default settings
* improved hmac validation with cookies
* fixed reload in combination with global page protection
* introduced a unique secret key per installation
* reverted Rest API implementation and used Ajax instead
* fix for captcha/recaptcha validation with hew hmac encryption
* fixed escaping area id in shortcode
* implemented concurrent logins feature
* encryption for cookies with unique secret key (hmac)
* dedicated ajax class to handle validation
* Rest API implementation for password encryption
* general code cleanup (better performance + improved doc blocks)
* consistent singletone pattern for all classes
* better check for areas and full page protection (improved security)
* improved cookie-js implementation with sameSite attributes
* fixed logo font rendering
* filter to disable base64 encryption for cookies and links
* jQuery migrate fix for captcha
* improved escaping of shortcode attributes (area and password lists)
* better permission check settings page
* better permission check metaboxes
* improved german translation
* added redirect parameter and settings
* updated cookie js for better compatibility
* added support for WooCommerce products and shop pages
* filter to allow spaces in passwords
* fixed notice for checking areas
* fixed security issue in is_valid()
* fixed validation with reload option
* better error handling with fade and clear input
* better area restriction
* better performance for password checkups
* removed rych hash dependency
* improved WooCommerce product restriction
* Gutenberg Support for areas
* fixed notice for bitly check
* fixed notice for recaptcha validation
* fix for shortcode validation capabilities
* improved validation for global protection
* bugfix for link protection
* pagebuilder editing support for areas
* fixed show password function
* dynamic {post-id} parameter for shortcodes in AJAX
* hide parameter for areas
* check form values before AJAX submit (required attributes for example)
* introduced protected areas
* shortcode configurator in areas
* bugfix: spaces in password lists
* PHP 8 support improvements
* removed auto-updater for options
* automatically add metaboxes to all registered (public) post types
* removed wp_auto_p() for Oxygen Builder support
* removed deprecated Pagebuilder modules (handled with areas now)
* min value for Cookie set to 1 and no negativ values possible
* improved widget support with areas
* performance optimization for large password lists
* lighter freemius integration
* direct links for documentation and support in admin header
* added expire by usage and time for password lists (pro only)
* added global password protection
* base64 encryption for cookies
* bugfix for bitly URL toggle (pro only)
* improved uninstall with latest options
* auto activate reload option if pagebuilder is activated
* added support to unlock widgets via ajax
* added support to unlock acf fields via ajax
* added shortcode params to page protection (pro only)
* added user restriction to page protection (pro only)
* fixed one-time usage for password lists without ajax (pro only)
* added option to redirect to source URL after link unlock (pro only)
* fixed ID parameter for multiple forms per page
* custom headline, ID parameter for Recaptcha v2/v3
* better enqueue for ReCaptcha v2
* removed old cache busting prevent 404 errors for files
* wp_enqueue_script for ReCaptcha preventing cache issues
* introduced ajax loader to indicate verification
* fixed metabox showing wrong selected password list
* improved admin wording for more clarification
* updated german translation files