30 days free. No credit card. Full access from the moment you connect your site.

Start free trial

v0.0.25 — Feature 067 interim: Elementor foundation + get-widget-controls + get-data

Feature 067 — Elementor Ability Suite (interim ship)

Interim release of the planned 88-ability Elementor integration. This release delivers the full foundational infrastructure plus the two highest-value abilities. Follow-up features (068+) will incrementally add the remaining 86 abilities against the frozen spec + contracts under `specs/067-elementor-abilities/`.

Foundation

Category registrar — new `acrossai-abilities-manager-elementor` category, self-guarded on `class_exists('\\Elementor\\Plugin')` so it's silently absent on non-Elementor sites.

Six shared utility classes under `includes/Abilities/Utilities/Elementor/`:

UtilityPurpose
`Document_Repository`Elementor document I/O with mandatory `wp_slash()` policy on `_elementor_data` writes, cache invalidation (Elementor files manager + WP post cache + `_elementor_css` meta delete), full tree helpers (find/insert/remove/reorder/replace by element ID, deep-clone with fresh IDs, descendant-guard)
`Widget_Controls`Schema-safe summariser over Elementor's `WidgetsManager::get_widget_types()` with case-insensitive control-name filtering
`Template_Query``WP_Query` wrappers for the `elementor_library` CPT + keyword-scoring for future pattern-search abilities
`Guidance_Catalog`Canonical Elementor.com widget catalog (60+ Basic/Pro/Theme/WooCommerce widgets seeded, 12-hour transient) + pattern & layout guidance data
`Design_Audit_Runner`Orchestrator for the 28 future design-audit abilities (register + run individual + aggregate with score + findings + recommendations)

Bootstrap gating — two-layer defense: outer `class_exists` at `plugins_loaded` P20 + per-ability defense-in-depth check at execution time. Runtime deactivation returns a clean `{ success: false, error_code: 'elementor_missing' }` envelope; no fatal errors. Inner Pro gate ready for future Custom Code + Form Submissions abilities.

Two shipped abilities

SlugPurpose
`acrossai/elementor-get-widget-controls`The schema-lookup primitive. Returns the schema-safe control summary for any registered Elementor widget on the current site (free + Pro + third-party). Enables clients to author valid `add-widget` / `update-element` payloads without hard-coded per-widget wrappers. Optional case-insensitive `search` filter across name/label/description/section/type.
`acrossai/elementor-get-data`The read primitive. Returns the parsed Elementor document tree + page settings + recursive element count for a post.

Deferred to follow-ups

86 abilities across Phases 3-13 are documented with complete input/output contracts under `specs/067-elementor-abilities/contracts/abilities.md`. Bootstrap already has instantiation slots wired. Follow-up features will land:

  • Element operations (add-container, add-widget, update-element, merge-element-settings, delete-element, move-element, duplicate-element, reorder-elements, etc.)
  • Widget shortcuts (add-heading, add-text-editor, add-image, add-button, add-post-tabs)
  • Templates (11 abilities — full CRUD + import/export + pattern search)
  • Kits & site settings (7 abilities)
  • Theme Builder conditions (2 abilities)
  • System / maintenance (4 abilities)
  • Design audits (28 abilities)
  • Elementor Pro Custom Code + Form Submissions (8 abilities)

Quality

  • 636 PHPUnit tests, 1530 assertions, 0 failures (577 baseline + 59 new)
  • PHPCS (WPCS strict): 0 errors
  • PHPStan (level 8): 0 errors
  • All 8 CI checks pass on PR #116

Full commit range

0.0.24…0.0.25


Keep reading