Appearance
FluentCart and WooCommerce
Two modules, one design. Each one makes your store's data available everywhere VX Script runs, puts a product's VX fields on its page, adds store-aware visibility rules, and — with the Forms module on — lets a buyer answer questions before Add to cart.
| Module | Needs | Turn on at |
|---|---|---|
| FluentCart | FluentCart active | VX Modules → Modules |
| WooCommerce | WooCommerce active | VX Modules → Modules |
One at a time
Both modules publish the same dynamic tags and the same visibility rule ids. That is deliberate: a site that moves from one store to the other keeps its pages, its rules, and its templates working. The flip side is that only one of the two can run at a time.
What each one adds
| Feature | FluentCart | WooCommerce |
|---|---|---|
@product, @cart, @customer | Yes | Yes |
| Folders in the VX picker | Yes | Yes |
Bricks {vxm_…} dynamic tags | Yes | Yes |
| Store visibility rules | Yes | Yes |
| VX fields on the product page | Yes | Yes |
[vxm_product_details] shortcode | Yes | Yes |
| A VX fields card in the store's product editor | Yes | Not needed — Woo uses WordPress's editor, so VX's own panel is already there |
| Product options forms | Yes | Yes |
Getting started
- Turn the module on. VX Modules → Modules → FluentCart or WooCommerce.
- Attach a fieldset to products. In VX, point a fieldset at the product post type. That is what gives products VX fields at all.
- Decide where those fields show. VX Modules → Settings → FluentCart / WooCommerce. See VX fields on product pages.
- Build with the data. Bind dynamic tags to
@product(…)in Elementor, or use the store rules to show and hide parts of a page. - Ask the buyer something, if you need to — product options forms.
The differences that matter
Editing a product's VX fields
WooCommerce products are edited in WordPress's own post editor, so VX's field panel is already on the screen. Nothing of ours is needed.
FluentCart has its own product editor, a single-page app with no seam for adding a section. The module mounts a VX fields card there under FluentCart's own cards, and re-attaches it when the app redraws. It also adds a VX fields tab to FluentCart's product header — a FluentCart route beside Upgrade Paths and Integrations — which opens the same card on a page of its own. That tab is where to go if the card ever fails to mount.
Either way, writes go through the Sheet's path, so VX's validation and publishing rules apply. Colors follow FluentCart's light and dark themes.
Where product fields can be placed
WooCommerce offers three positions on the product template: under the price and meta, in a tab of its own, or below the product with the upsells.
FluentCart puts them under the content on its own single product template.
Both also have the [vxm_product_details] shortcode for a custom template.
Where a product options form goes
WooCommerce renders the form's fields inside WooCommerce's own add-to-cart form, above its button, so they post with the variation and quantity WooCommerce already asks for.
FluentCart puts the form beside FluentCart's variation picker and quantity, with its own Add to cart button — and can hide FluentCart's.
Details in Product options forms.
Subscriptions
FluentCart has subscriptions natively, so @product(is_subscription) and the subscription rules work out of the box.
WooCommerce needs WooCommerce Subscriptions for the has an active subscription customer rule; the product-side subscription tags read whatever WooCommerce reports about the product type.
Order storage
Everything the WooCommerce module reads or writes about an order goes through WooCommerce's own order and item classes, so it behaves the same on the classic order tables and on high-performance order storage. The plugin declares itself compatible with HPOS and with the block cart and checkout, which is what lets a store turn either on.
Next
- Store dynamic data — every tag and rule
- VX fields on product pages
- Product options forms

