Core Forms 4.1.0-beta5
FluentCart fixes
- Address fields collected on the form. FluentCart's checkout requires billing address by default. Beta4's templates didn't collect it, so users hit a half-empty checkout. The FluentCart product + subscription templates now include a billing fieldset (address line 1/2, city, state, postcode, country) named to match FluentCart's checkout schema.
- Form fields prefill FluentCart checkout. The gateway maps submission data into
cart->checkout_data['form_data']so FluentCart auto-fills its inputs and TaxManager picks up country/state for tax. Two-pass mapping:billing_*/shipping_*keys forward verbatim; common aliases (NAME, EMAIL, COUNTRY, etc.) map to FluentCart equivalents. - Test/Live badge now reads FluentCart's own mode. The per-form Payment tab no longer shows the global Core Forms test/live badge for the FluentCart provider (which it doesn't gate). Instead reads
FluentCart\Api\CurrencySettings'sorder_modeand renders "FluentCart: Live" / "FluentCart: Test" with a tooltip linking to the FC store settings. - FluentCart hidden when not installed. The gateway only registers when FluentCart's PHP classes exist. The "FluentCart product" and "Subscription" starter templates are filtered out of the Add Form gallery on the same condition.
- Provider-switch resilience. FluentCart templates ship with a fallback
payment_amount+ currency so swapping to Stripe/PayPal/Razorpay later doesn't trip the gateway's "amount must be greater than zero" guard.
Per-template submission messages
Templates registry gained a messages callback alongside markup and settings. Every template now ships with a context-appropriate Success message instead of the generic "We will be in touch soon":
- Payment templates — "Redirecting to PayPal…", "Welcome aboard…", etc. + payment-specific error copy
- Contact — "Your message is on its way"
- Newsletter — "You're on the list. Check your inbox"
- Support — "Support ticket received. We'll reply within one business day"
- Booking — "Booking received. You'll get a confirmation email"
- (and so on for the rest)
cf_get_template_messages() helper feeds the preset into cf_message_* post meta on form creation.