=== WD Restrictions ===
Contributors: wolfdevs, realblackz
Tags: access control, restrict pages, user roles, dashboard, admin bar
Requires at least: 5.8
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Comprehensive WordPress access control for dashboard, admin bar, pages, and post types with role-based permissions.

== Description ==

WD Restrictions provides fine-grained control over who can access different areas of your WordPress site. Perfect for membership sites, client portals, and any site requiring access restrictions.

= Features =

**Admin Bar Restrictions**

* Hide the WordPress admin bar from specific user roles
* Control who can see the admin bar on the front-end
* Role-based permissions

**Dashboard Access Control**

* Restrict access to the WordPress dashboard by user role
* Whitelist specific admin pages (e.g., profile.php)
* Custom redirect URLs for unauthorized users
* Automatically allows AJAX and file upload endpoints

**Page Restrictions**

* Restrict access to specific pages
* Require login to view restricted pages
* Role-based access control
* Custom redirect URLs

**Post Type Restrictions**

* Restrict access to any public post type
* Individual settings per post type
* Require login or specific roles
* Custom redirect URLs per post type

= Use Cases =

* **Membership Sites** - Restrict content to logged-in members
* **Client Portals** - Hide dashboard from non-admin users
* **Intranet Sites** - Control access to internal pages
* **Multi-Author Blogs** - Limit contributor access

== Installation ==

1. Upload the `wd-restrictions` folder to `/wp-content/plugins/`
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Navigate to Settings > WD Restrictions to configure

== Frequently Asked Questions ==

= Will this affect administrators? =

By default, administrators have full access to everything. You can customize this in the settings.

= Can I restrict multiple pages at once? =

Yes! Select multiple pages in the Pages tab.

= What happens if a user tries to access a restricted area? =

They will be redirected to the URL you specify (defaults to homepage). You can also redirect to the login page or any custom URL.

= Can I use different redirect URLs for different restrictions? =

Yes! Each restriction type (dashboard, pages, post types) can have its own redirect URL.

= Does this work with custom post types? =

Absolutely! Any public post type will appear in the Post Types tab.

= Is this compatible with caching plugins? =

Yes! The plugin includes compatibility with popular caching plugins including WP Rocket, W3 Total Cache, WP Super Cache, and LiteSpeed Cache.

== Screenshots ==

1. Admin Bar settings tab
2. Dashboard access control settings
3. Page restrictions with hierarchical page selector
4. Post type restriction settings

== Changelog ==

= 1.0.1 =
* Fixed admin notices appearing inside plugin header
* Added dedicated notices container for proper notice placement
* Improved compatibility with third-party plugin notices

= 1.0.0 =
* Initial public release
* Admin bar restrictions by user role
* Dashboard access control with role-based permissions
* Page restrictions with hierarchical page selector
* Post type restrictions with individual settings
* Redirect options: Home, Login, any page, or custom URL
* Modern tabbed settings interface
* Cache plugin compatibility (WP Rocket, W3 Total Cache, WP Super Cache, LiteSpeed Cache)
* Security: capability checks on all AJAX handlers
* Fully translatable

== Upgrade Notice ==

= 1.0.0 =
Initial public release.
