Restrictly™ is a performance-focused access control system for WordPress that enforces rule-based visibility across content, menus, and blocks - without the bloat of traditional membership or paywall plugins.
Built for developers, site owners, and professionals who value speed, clarity, and clean architecture, Restrictly™ provides a reliable foundation for access enforcement that scales naturally as your needs grow.
-
Full Site Editing (FSE) Integration – Add block-level visibility directly inside the Site Editor.
Choose who can see each block — Everyone, Logged-In, Logged-Out, or Specific Roles — with a clean, non-intrusive sidebar panel and optional color-coded visibility indicators. -
FSE Navigation Menu Support – Control visibility for navigation links, submenus, and page lists directly inside the Site Editor.
Show or hide individual navigation items by login status or user role for fully dynamic menus. -
Extended Visibility Filtering – Automatically hides restricted content from:
- Search results (
is_search()) - Archives (
is_archive()) - Home listings (
is_home()) - Custom queries
Visitors only see what they are authorized to view.
- Search results (
-
REST API Enforcement – Applies Restrictly™ visibility rules to REST API responses.
Restricted content is automatically filtered to prevent unauthorized data exposure. -
Dynamic Menu Visibility (Classic Menus) – Manage visibility for classic WordPress menus in the traditional Menu Editor.
-
Full, Quick, and Bulk Edit Support – Modify access settings from any edit screen, including multi-post operations.
-
Sortable, Filterable Admin Columns – View and organize restricted content directly in the admin list tables.
-
Administrator Override – Optional global setting that lets administrators bypass restrictions for testing.
-
Centralized Role Management – Unified role data handled by the
RoleServiceclass across all components. -
Divi & Page Builder Compatibility – Works seamlessly with Divi and similar builders without breaking layouts.
-
Lightweight & Secure – 100% built on WordPress core APIs with strict sanitization, escaping, and type checking.
-
Translation Ready – Includes
.pot,.po, and.mofiles for localization. -
Clean Uninstallation – Removes all Restrictly™ data and options automatically on uninstall.
- Query Filtering – The
QueryFilterclass excludes restricted content from all public queries automatically. - FSE Enforcement – The
BlockVisibilityandFSEHandlerclasses handle all block- and navigation-level visibility both in-editor and front-end. - Unified Role Logic – The
RoleServiceclass centralizes role and login-based access checks across content, menus, blocks, and REST API enforcement. - Strict Validation – Full compliance with PHPCS, WPCS, PHPStan, ESLint, Stylelint, and Prettier.
- Build Automation – Streamlined development and packaging:
build.sh→ installable plugin ZIPbuild-github.sh→ GitHub release package (includes docs & screenshots)build-repo.sh→ WordPress.org repository package
- Access Control – Define default restriction behavior for posts, pages, and content types.
- Menu Restrictions – Manage visibility settings for traditional WordPress menus.
- Block Editor Visibility – Toggle FSE visibility indicators (colored badges) on or off for a cleaner editing experience.
- Administrator Override – Grant administrators universal visibility access for debugging and testing.
Restrictly™ Pro is an optional premium extension that builds on the free Restrictly™ core with advanced access-control capabilities, including:
- Custom post type (CPT) restrictions
- Custom roles and granular policy rules
- Taxonomy & media visibility (categories, tags, files, and downloads)
- WooCommerce product & pricing visibility
- Advanced reporting, logging, and automation
- Extended navigation logic and rule inheritance
- Download or clone this repository.
- Upload the
/restrictly/folder to/wp-content/plugins/. - Activate Restrictly™ from the WordPress Plugins page.
- Visit Restrictly → Settings to configure your preferred restrictions and defaults.
Want to help improve Restrictly™? Contributions are always welcome!
- Fork this repository and create a new branch.
- Follow WordPress Coding Standards (PHPCS/WPCS).
- Run full code validation before committing.
- Submit a pull request with a clear description of your improvements.
- Added internal observability and lifecycle hooks for Restrictly™ Pro debugging and diagnostics.
- Added gated debug event emission across all access enforcement paths.
- Added evaluation start, evaluation end, and final decision signals.
- Added administrator override observability (always-allow behavior).
- Added query influence detection for search, archive, and home queries.
- Added Full Site Editing (FSE) block, navigation, and query observability events.
- No behavior changes to access control logic.
- Fully backward compatible.
- Initial public release of Restrictly™.
- Role-based and login-based access control for pages, posts, menus, and FSE blocks.
- REST API enforcement and extended visibility filtering.
- Full PHPCS, WPCS, PHPStan, ESLint, and Stylelint compliance.
Restrictly™ is licensed under the GPL-2.0+ License.
This ensures freedom to use, modify, and distribute while preserving open-source integrity.
Tags: access control, content restriction, visibility, wordpress plugin, user roles, login status, block editor, fse, navigation menus, menu visibility, rest api, pages, posts