Core Forms 4.1.0-beta3
FluentCart correlation fixes
Tested live against gauravtiwari.org's FluentCart 1.3.27 — beta2's correlation path was wrong:
Cartmodel usescart_hashas its primary key, notid. Beta2 referenced$cart->id(alwaysnull), so the metadata-fallback path could never run. Removed it.- Order → Cart link goes through
wp_fct_order_operations.cart_hash, not a direct$order->cart_id(no such column). Theorder_paid_donelistener now walksOrder → orderOperation → cart_hash → Cartand readscheckout_data['core_forms']['submission_id']. - Variations have no per-row currency; FluentCart is single-currency. Currency is now read from
FluentCart\Api\CurrencySettings. - Per-form preview chip formats price using FluentCart's currency sign + position, surfaces subscription billing summary, trial days, and physical-fulfillment hints.
Form settings UI redesign
Six sections in the Settings tab now use <details>/<summary> accordions matching the Payment and Headless tabs. Each summary carries useful at-a-glance state:
- Submissions — "rate limit 60/h" or "not stored" badges
- After submission — confirmation type badge; redirect URL row only renders when redirect is selected
- Anti-spam — honeypot on/off badge
- Save & resume — on/off badge
- Scheduling — "window set" / "always open" badge
- Advanced — CSS / JS badges when custom code is present
New UI primitives: - Pill-style Yes/No radios with hover/checked state - Number inputs with trailing unit hints (e.g. "submissions / IP / hour") - From → To range pairs for date and time - Day-of-week segmented picker — checked days fill blue - Monospace inset-shadow code textareas for Custom CSS/JS - Tightened form-table spacing inside accordions - Stacks to single column under 1100px viewport
Messages tab redesign
Same accordion pattern. Four core messages grouped under "Submission outcomes" with an explanatory header. Extension-injected <tr> rows get their own accordion when present, otherwise the section is omitted entirely.