===PrivateContent Free===
Contributors: LCweb Projects
Donate link: https://charon.lcweb.it/8260d9df?ref=pc_addons_adv
Tags: content restriction, restrict content, user role access, private content, members area
Requires at least: 5.0
Tested up to: 6.9.4
Requires PHP: 7.0
Stable tag: 1.3.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Restrict pages, posts, and menus by user level or login status. Create private areas for members or logged-in users with ease and FREE!


== Description ==

[PrivateContent](https://lcweb.it/privatecontent-multilevel-content-plugin/free-version/) born in 2012, aiming to be the **best solution to restrict your website contents** and a different membership platform. Different because it uses a standalone database: **quicker than the normal WordPress users one and not limited by the bulky roles assignments.**

To have a multi-level users database will be easy and fast, keeping your users out of the WordPress backend while creating a modern and optimized users management area in the backend.

**No forced pages, no forced URLs**: the plugin is designed to seamlessly work and integrate into any website.


[CHECK THE DEMO &raquo;](https://lcweb.it/privatecontent-multilevel-content-plugin/free-version/)


== 🌟 Main Features ==

* **User levels:** unlimited. Each user can have one or multiple levels
* **Easy user management:** Forget the outdated WP users management, everything is clean and fast. From admin user addition to users sort and search
* **3 user statuses:** Users can be disabled without deleting them and registered users can be also placed in pending status, waiting for the admin approval
* **Contents restrictions:** restrict WP pages and posts in few clicks. Bulk restrict through post categories. Precisely define which user levels can access contents. Restricted elements will be totally unreachable, also for search engines
* **User reserved page:** target a container page and it will show different contents depending on the logged user. Everything under a single website URL!
* **1-click website lock:** Do you need a totally private website? It only takes a click!
* **Login and registration forms:** Place them everywhere you want in your website: you will never have to change your desired workflow to adapt PrivateContent
* **Registration form builder:** add/remove/sort the fields as you prefer. Add text blocks and paginate fields. Finally, a modern HTML5 data validation and honeypot anti-spam
* **Blocks and shortcodes:** Quickly insert your forms into your website directly through WP blocks or using the shortcode wizard
* **Import/export hub:** Move users through websites, import existing WP users, export in CSV/XSLX, move the whole plugin setup  
* **Style it as you prefer:** Choose among six message styles and tune every aesthetic aspect to fully integrate into your website

And even if it's a free version, each system is packed with a lot of options.
Everything to adapt as best as possible to every website's need!


== 🕒 Get started in minutes ==

Whether you have a large site or creating a new project, PrivateContent is **ready to operate out of the box**. With **6 preset styles** and eventually importing existing WordPress users, your multilevel-protected website will be ready in a flash!


== 🌎 100% translatable ==

Each section is translatable: the plugin has already been (fully or partially) **translated into 27 languages!**
Additionally, it is fully compatible with WPML and Polylang for dynamic strings.


== 📑 GDPR Compliant ==

The plugin fully satisfies the most recent law requirements in terms of data protection and users management. For example, there is a dedicated module to let users **delete their profiles autonomously**.


== ⌨️ Dev oriented API and hooks ==

PrivateContent is extremely flexible and **ready to be extended** almost in any way you could imagine. The [official premium add-ons](https://lcweb.it/products-overview/#pc_suite) offers incredible features for specific needs, but if you are a developer there's a [dedicated documentation](https://lcweb.it/privatecontent/public-api) guiding you step-by-step to build your systems on top of the PrivateContent engine!


== 🚀 PrivateContent Free version is just the beginning ==

Since 2012, the plugin has been constantly improved and extended, becoming a real reference in the WordPress world when it comes to protect WordPress website contents. Here's a summary of what you get with the [premium version](https://lcweb.it/privatecontent-multilevel-content-plugin/):

**Additional core systems**

* Lightbox engine
* Native [Elementor](https://be.elementor.com/visit/?bta=1930&brand=elementor), Divi, WPBakery Builder widgets integration
* Google reCaptcha anti-spam integration

**Users membership**

* Multiple registration forms
* Advanced users search with direct search-to-export
* Users action tracking through Google Analytics or User Activities add-on
* WordPress roles emulation to integrate with specific systems (eg. WooCommerce dashboard)
* User sessions control (no concurrent login)
* Preset/fixed contents for Users reserved page with advanced themes/builders integrations

**Contents restriction**

* Private block shortcode with optional warning box containing login/register buttons
* Restrict any public custom post type or taxonomy
* Persistent modal lightbox on page’s opening to force user’s interaction
* Comments form hiding
* Custom (URL-based) restriction with regular expressions support
* Menu items 
* WooCommerce products sell lock and price hiding
* Sidebar widgets
* Any Elementor widget (or column or section)
* Any Gutenberg block

Test it on the [preview page](https://lcweb.it/privatecontent-multilevel-content-plugin/) or also get a [7-days free trial](https://lcweb.dikelicensing.com/trial-license-request/?prod=pc)!



== Installation ==

1. Upload `private-content-free` to the `/wp-content/plugins/` directory
2. Activate the plugin through the 'Plugins' menu in WordPress
3. A "PrivateContent" item will be added to the WordPress admin menu 
4. Get started following the [documentation](https://doc.lcweb.it/privatecontent/?ispcf#init_req_steps)



== Screenshots ==

1. Login and registration forms
3. sectioned and fluid registration forms
3. User deletion and logout boxes
4. Live restrictions preview
5. Users list 
6. Backend user dashboard
7. Posts/pages list - restrictions helper
8. Post editor - restrictions wizard
9. User category form
10. Main settings
11. Registration settings
12. WP user sync settings
13. Styling settings
14. Import/export hub



== Changelog ==

= 1.4.0 =

* new: data cache introduced in pc_form class
* new: dynamic CSS now performs a single database query to get the values
* new: redirect-restricted posts are now excluded from get_term counters
* new: delayed restriction's wizard filter priority to avoid interferences
* new: form labels now avoid always breaking words for a better readability

* added: selective user data export system
* added: glass effect for lightbox background

* updated: single-checkbox fields layout in fullwidth context
* updated: LC Switch script
* updated: WPML compatibility

* fixed: WP_query not affected if there were restricted elements in post__in
* fixed: 24-to-12h and vice versa time format conversion functions
* fixed: bulk restriction button shown also on not targeted subjects
* fixed: multiple options dropdown - selected options spacing styling


= 1.3.1 =

* fixed: WP_Term_Query filter not properly handling all possible cases


= 1.3.0 =

* new: restrictions now applied also to WP_Term_Query results
* new: restrictions now applied also to WordPress comment queries
* new: different hook usage for inline JS scripts to avoid interferences
* new: database constants defined on plugins_loaded to try avoiding interferences

* added: update from CSV system
* added: better debug notes in users management class

* updated: backend italian translation

* fixed: disclaimer fields layout in one-column forms
* fixed: CSV/EXCEL data export if numeric keys exist
* fixed: potential vulnerability over form align shortcode parameter
* fixed: inline javascript not printed if wp_footer action was already fired


= 1.2.0 =

* new: database setup instructions comply also with latest mySQL versions
* new: backend fully translated in italian
* new: frontend fully translated in spanish

* added: full spanish backend translaation (AI-generated)
* added: full french backend translaation (AI-generated)

* updated: settings engine

* fixed: wrong user categories access by pvtContent admins in import/export systems
* fixed: inline dynamic CSS not printed in Gutenberg
* fixed: Gutenberg integration affecting website performances
* fixed: plugin cannot be activated on WordPress multisite


= 1.1.0 =

* new: username is now always validated to comply with WordPress ones
* new: restyled users list tabs
* new: fallback value to avoid zero font-size on fresh installations
* new: improved (again) frontend HTML compliance with accessibility standards

* updated: LC select script
* updated: brazilian translation

* fixed: previously synced WP users hidden from users list even if WP user sync is disabled
* fixed: basic user search by category not working for PvtContent admin users
* fixed: user categories query not properly targeting category IDs in some cases
* fixed: preset styles preview not shown


= 1.0.10 =
* new: improved frontend HTML compliance with accessibility standards
* added: "no frontend nonce" option, to be used in case of cache system conflicts
* fixed: "Import from WP" showing "all categories" option 
* fixed: custom CSS editor initialized twice in settings


= 1.0.9 =
* new: persistent database setup checker navigating the website's backend
* new: "active users" renamed in "enabled users" for better terms clarity using add-ons


= 1.0.8 =
* fixed: helper text shown twice for textarea fields in one-column forms


= 1.0.7 =
* fixed: custom search parameter escaped in get_users() method


= 1.0.6 =
* new: (again) algorithm checking the logout button answer


= 1.0.5 =
* new: algorithm checking the logout button answer (should solve recent no-logout-redirect issues)
* fixed: backend user add/update error when using categories marked as "no registration"


= 1.0.4 =
* fixed: backend user add/update error when using categories marked as "no registration"


= 1.0.3 =
* fixed: registration error when using a predefined user category assignment and that category is marked as "no registration"
* fixed: icon picker not loading


= 1.0.2 =
* fixed: settings view


= 1.0.1 =
* added: anti-cache system for logged users (WP 6.8)
* new: better returned string handling for AJAX logout button
* fixed: registration error if "no registration categories" are used as custom assignment in registration form

= 1.0 =
Initial release


== Upgrade notice ==

none