Core Forms 4.1.0-beta2
Headless / REST API
External sites (Astro, Next.js, plain HTML, anywhere) can now render and submit Core Forms over REST.
- New endpoints under
/wp-json/core-forms/v1: GET /forms/{id}— schema (HTML + structured fields)POST /forms/{id}/submit— runs the same validation/captcha/action pipeline as on-site submissionsGET /embed.js— drop-in vanilla JS widget- Site-wide API key (Settings → Headless) gates submissions; per-form Headless tab toggles exposure on/off and shows copy-paste snippets (widget, native fetch, cURL) pre-filled with the actual key.
- Reveal/generate/copy controls on the API key field, status banners on the per-form tab.
- CORS reflected per-origin; captcha is force-recommended since cross-origin submits can't use WP nonces.
FluentCart integration
Hosted-checkout handoff via FluentCart's own checkout — works on free + Pro, one-time + subscriptions.
- New
FluentCartpayment gateway slots into the existing payments orchestrator alongside Stripe/PayPal/Razorpay/Polar. - Per-form Variation ID picker with live preview (title, price, payment type, link to FluentCart).
- Listens to
fluent_cart/order_paid_doneto mark submissions paid and fire the post-payment action loop.order_status_changed_to_refundedsyncs refunds back. - Pricing/currency come from the FluentCart variation — the form's Pricing fields are bypassed when this provider is selected.
- Subscription variations work transparently on FluentCart Pro (FluentCart owns the recurring billing).
UI polish
- Per-form Payment tab sections converted to native
<details>/<summary>accordions matching the global Payments gateway list. - New Headless tab in the form editor with status banners, monospace code blocks, floating copy buttons, color-coded HTTP method tags.
- Same-site gateways (FluentCart) skip the irrelevant Webhook URL row in global settings and explain why no credentials are needed.