=== 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.