Access Control — absorb 10 providers from the retired user-access-pro add-on
Rolls back the two-product SKU plan: user-access-pro was originally planned as a separately-sold companion; instead its 10 providers ship inside AcrossAI Pro under a single premium umbrella.
Providers surface automatically in every consumer's "Who can access" dropdown via the GLOBAL wpb_access_control_register_providers filter (wpb-access-control v3+). Auto-detection uses class_exists / function_exists at is_available() time — each provider appears when its underlying plugin is active and stays hidden otherwise. acrossai-mcp-manager continues to own the AccessControlManager consumer; this plugin only contributes providers.
Providers shipped
| Provider ID | Underlying plugin |
|---|---|
acrossai_pro_bb_profile_type | BuddyBoss Platform |
acrossai_pro_mepr | MemberPress |
acrossai_pro_ld_group | LearnDash LMS |
acrossai_pro_llms | LifterLMS |
acrossai_pro_pmpro | Paid Memberships Pro |
acrossai_pro_rcp | Restrict Content Pro |
acrossai_pro_wc | WooCommerce Memberships |
acrossai_pro_s2 | s2Member / s2Member Pro |
acrossai_pro_wlm | Wishlist Member |
acrossai_pro_memberium | Memberium (Keap / ActiveCampaign) |
Customisation surface
Every provider exposes two filters for site-level tuning:
acrossai_pro_<slug>_options— filter the option list rendered in the dropdown.acrossai_pro_<slug>_has_access— filter the boolean access-check result for a given user + selected options.
Match semantics per provider: ANY (OR) — a user is allowed when they hold at least one of the selected values.
Runtime guards
- Freemius premium gate — unlicensed installs contribute zero providers.
class_exists( \WPBoilerplate\AccessControl\AbstractProvider )— silent no-op whenacrossai-mcp-manager(which ships the vendor library) is missing or deactivated.
Tests
Ships with 113 PHPUnit unit tests (Brain/Monkey mocked) covering the Registrar and all 10 providers.
See PR #42.
Upgrade notes
- Drop-in replacement for 0.8.3. No schema change, no data migration.
- Immediately visible on Access Control dropdowns once installed + licensed + a matching membership plugin is active.
- Nothing to install separately — the standalone
user-access-proplugin (never publicly released) is superseded by this release.