Release 0.0.26
89 new abilities since 0.0.25.
Feature 067 — Elementor Ability Suite (87 new abilities)
Completes the 88-ability Elementor integration started in 0.0.25 (the 2 foundation abilities from 0.0.25 + 87 in this release = 88 total).
All abilities gate on `class_exists('\Elementor\Plugin')` — silently absent on sites without Elementor. 8 Pro-specific abilities are additionally gated on `class_exists('\ElementorPro\Plugin')`.
Groups:
- Document / element operations (15) — get-data, update-data, patch-data, clone-data, get-element, find-elements, update-element, merge-element-settings, delete-element, remove-element, move-element, duplicate-element, reorder-elements, add-container, add-widget
- Widget shortcuts (5) — add-heading, add-text-editor, add-image, add-button, add-post-tabs
- Discovery & guidance (5) — get-official-widget-catalog, get-official-pattern-guidance, get-theme-context, get-style-guide, evaluate-render-context
- Template CRUD (11) — list/get/create/update/delete/restore/duplicate/empty-trash/export/import + find-template-for-pattern
- Kits & site settings (7) — list-kits, get/update-kit-settings, set-active-kit, list-global-widgets, list-experiments, update-experiment
- Theme Builder (2) — get/update-theme-builder-conditions
- System & maintenance (4) — clear-cache, replace-urls, get/update-maintenance-mode
- Design audits (29) — evaluate-design, suggest-design-fixes, score-distinctiveness, extract-design-tokens, 14 audit-* checks, 7 destructive subtree ops, 4 copy/sync helpers (logic skeletal — real heuristics deferred)
- Elementor Pro (8) — 5 custom-code CRUD + 3 form-submissions
Native site maintenance-mode toggle (2 new abilities)
Under the existing `acrossai-abilities-manager-site-health` category. No plugin dependency — works on every WP install.
- `acrossai/set-site-maintenance-mode` — writes `ABSPATH/.maintenance` (same file WP core writes during plugin/theme/core updates). A 5-minute wp-cron keeps the timestamp fresh so the site stays down for the requested `duration_minutes` (default 60, hard-cap 1440). Requires `confirm=true` because it blocks wp-admin as well as the frontend.
- `acrossai/unset-site-maintenance-mode` — deletes the marker, clears the refresh cron, drops the expiry option. Idempotent — safe to call whether or not maintenance mode was active. Reports `was_active` in the response.
Escape hatch (unchanged from stock WP): if a caller ever locks themselves out and can't reach the ability, `rm -f wp-root/.maintenance` restores frontend + wp-admin access.
Testing
- Full unit suite: 1006 tests, 2040 assertions, 0 failures (6 pre-existing warnings).
- PHPCS (WPCS strict) + PHPStan level 8 both clean.
- CI green across PHP 8.1 / 8.2 / 8.3 / 8.4 / 8.5.