=== WPSAL (Simple Access List) ===
Contributors: veryaca
Tags: access control, user permissions, content restriction, role management, content visibility
Stable tag: 1.3.1
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Donate link: https://donate.stripe.com/9B69ATd053Ev8zo1tT6c001

We have ONE goal in mind: making it easy to control access to pages and posts.

== Description ==

**WPSAL (Simple Access List)** is a lightweight plugin that allows _WordPress_ site owners to control access to posts, pages and custom post types. You can restrict content to specific **users** or **roles** and redirect unauthorized visitors to any page.

### Key Features
- Restrict access to posts, pages or custom post types.
- Assign access to individual **users** or **roles**.
- Redirect unauthorized visitors to a page of your choice.
- Developer-friendly with filters and hooks.

### Usage
1. Go to the **Posts**, **Pages**, or any custom post type list in the _WordPress_ admin.
2. Hover over a post row to reveal the **WPSAL** action menu. Click it.
4. In the modal that appears, select the allowed **users** and/or **roles**.
5. Optionally select a **redirect page** for unauthorized visitors.
6. Click **Save** — the access restrictions are applied immediately.

**Ideal for:** membership sites, client portals, private blogs, or any scenario requiring flexible content access control.

== Installation ==

1. Upload the `wpsal-simple-access-list` folder to `/wp-content/plugins/`.
2. Activate the plugin through the 'Plugins' menu in _WordPress_.

== Frequently Asked Questions ==

= Can I restrict custom post types? =
Yes! By default, posts and pages are supported.
Use the `wpsal_allowed_post_types` filter to extend to custom post types.

= Can I redirect unauthorized users? =
Yes, you can select a custom page to redirect visitors who don’t have access.

= Can I restrict access to both roles and users? =
Absolutely. You can assign access to specific users, roles, or both simultaneously.

= Is the plugin developer-friendly? =
Yes, it provides filters and hooks for extending functionality and integrating with other plugins or themes.

= Can I hide pages that are protected if they have WPSAL rules applied? =
Yes! When the "Filter menus and navigation blocks" option is enabled in the plugin settings, the plugin automatically removes menu items and navigation block links that the current user cannot access.

== Screenshots ==
1. **Page List (Backend)** – _WordPress_ admin page list showing all pages.
2. **WPSAL Modal Window** – Popup for selecting access type and individual settings.
3. **WPSAL Settings Page** – Main plugin settings page for configuring access control.

== Development Notes ==

This plugin includes minified JavaScript and CSS files.
The uncompressed source files are publicly available here:

- SweetAlert2 v11.26.25: https://github.com/sweetalert2/sweetalert2/archive/refs/tags/v11.26.25.zip
- TomSelect v2.6.1: https://github.com/orchidjs/tom-select/archive/refs/tags/v2.6.1.zip

== Changelog ==

= 1.3.1 =
- Bug fixes.

= 1.3.0 =
- New modern user interface and refreshed design.
- Lowered the minimum PHP requirement from 7.4 to 7.0.

= 1.2.3 =
- Tested up to WordPress 7.0.
- Updated SweetAlert2 and TomSelect libraries.

= 1.2.2 =
- Updated SweetAlert2 and TomSelect libraries.

= 1.2.1 =
- Updated SweetAlert2 and TomSelect libraries.

= 1.2.0 =
- New feature: Added front-end filtering of menus and core/navigation blocks based on WPSAL access rules.
- Cached access checks for performance improvements.
- Updated SweetAlert2 and TomSelect libraries.

= 1.1.0 =
- New filter: `wpsal_permissions_column_post_types`.
- New feature: Remove all plugin metadata (reset permissions).
- Improved, updated and standardized CSS selectors for better admin page compatibility.
- Refined GUI: improved layout and visual overall clarity.
- Improved performance by optimizing various meta queries.
- Updated SweetAlert2 and TomSelect libraries.

= 1.0.0 =
* Initial release:
  - User and role-based access control.
  - Redirect unauthorized users.
  - Modal interface with SweetAlert2 and TomSelect.
  - Developer hooks and filters.

== Upgrade Notice ==

= 1.0.0 =
Initial release.

== Support / Documentation ==

- For documentation, visit: https://wpsal.verya.xyz/.
- For support or to report bugs, please visit the plugin page on the _WordPress_ repository.
