OCW Checkout Logic for WooCommerce — WordPress plugin by Onne Kierkels
WooCommerce plugin · v2.4.0

Stop asking for fields
that don't apply.

Configure per-product which Woo checkout fields are required, optional or hidden, and drag them into your preferred order. Free for the standard fields. PRO adds custom fields per product, conditional logic, per-category settings, validation patterns (Dutch postcode, KVK, IBAN, EU VAT) and reusable templates — save one product's setup, apply it to 200 in one click.

WooCommerce 6.0+ WordPress 6.0+ PHP 8.0+ HPOS-ready Cart & Checkout Blocks
Checkout"E-book download" cart
First nameRequired
EmailRequired
VAT numberPRO custom
Order notesOptional
No shipping address for digital goods — checkout asks only what matters.

Default Woo checkout is one-size-fits-nothing.

Woo asks for the same 11 billing + 9 shipping + 1 order fields on every order. For a digital product, half is irrelevant. For a B2B order, you need VAT and project codes Woo doesn't have. Settings → Advanced is too coarse.

01
Digital products don't need shipping address

Asking for it kills conversion ("why do they need my address for a PDF?"). Free lets you hide all shipping + address fields per digital product.

02
B2B needs more than B2C

Companies need a VAT field, a KVK, sometimes a project code. PRO's conditional logic shows them only when the customer is buying for a company.

03
Catalogs are big

Editing 200 products by hand is unworkable. PRO's per-category settings and reusable templates let you roll the same rule across a whole category — or a whole catalog — at once.

04
Wrong data costs real money

A wrong postcode = a returned shipment. PRO's validation patterns (Dutch postcode, KVK, EU VAT, IBAN) catch typos at checkout before they cost you.

Three small moves,
zero code.

All inside the standard Woo product edit screen — new "Checkout fields" tab in Product Data.

1

Configure

Open a product, click the new "Checkout fields" tab. Toggle each Woo standard field to Default / Required / Optional / Hidden. Drag the global field order from a dedicated submenu so all products use the same layout.

21 standard fields4 statusesDrag-and-drop order
2

Add (PRO)

In PRO, add custom fields per product (text, email, dropdown, …) and validation patterns. Set defaults per category. Wire conditional logic. Save the whole setup as a named template and apply it to any other product.

Custom fieldsConditional logicPer categoryTemplates
3

Cart-aware checkout

When the cart contains multiple products, the strictest rule wins. One product requires phone → phone is required for the order. Custom fields collected at checkout land as order item meta — visible in admin orders, emails and PDF invoices.

Strictest winsOrder item metaNo code

Free covers what every shop needs.
PRO covers what B2B and big catalogs need.

No upsell tax on basic functionality — the strictest-wins resolver, hidden/required/optional toggle, multi-product carts and HPOS support are all in the free version.

Per-product config (free)

The core feature, no limits.

  • 21 Woo standard fields covered (11 billing + 9 shipping + order notes)
  • 4 statuses per field — Default / Required / Optional / Hidden
  • Quick actions — "All required" / "All optional" / "Hide all" / "All default"
  • Cart-aware resolution — strictest rule wins across multiple products

Site-wide field order (free)

Drag-and-drop a single source of truth.

  • Dedicated submenu Checkout Fields → Field order
  • Three lists — Billing, Shipping, Order — sort each independently
  • Applied via woocommerce_checkout_fields priority rewrite
  • Per-product tab tables follow the same order automatically

Custom fields per product (PRO)

Beyond Woo's standard set.

  • 6 field types — text, email, phone, textarea, dropdown, checkbox
  • Required toggle per field, drag-and-drop row reordering
  • Auto-saved as order item meta — shown in admin order screen, customer emails and PDF invoices
  • Cart de-duplication — two products requesting "VAT number" only render once

Conditional logic (PRO)

"Show X when Y = Z."

  • Lightweight JS rule engine — no jQuery, no flicker
  • Per-product rules stored as _ocwcl_conditions meta, drag to reorder
  • Cross-field — trigger on standard or custom fields

Per-category settings (PRO)

Configure a whole category at once.

  • Term-level meta — set rules on the product_cat edit screen
  • Per-product overrides still win — category fills gaps
  • Same UI as the per-product tab — no extra learning

Validation patterns (PRO)

Catch typos at checkout.

  • Dutch postcode 1234 AB
  • KVK (8 digits) · EU VAT · IBAN · Dutch phone
  • Custom regex per field, drag-and-drop to reorder rules
  • Server-side validation on woocommerce_checkout_process — blocks invalid orders

Configuration templates (PRO)

Save once, reuse everywhere.

  • Save any product's full setup — field statuses, custom fields, conditional logic, validation rules
  • Apply to any other product with one click + Update
  • Dedicated submenu for rename and delete
  • Stored as a single site option ocwcl_pro_templates — no schema changes

Under the hood

Built on standard Woo APIs.

  • Woo product data tab — no separate menu screens
  • Classic checkout + Cart & Checkout Blocks compatible (field control incl. server-side enforcement; PRO custom fields, conditional logic & validation run on the classic checkout)
  • HPOS-compatible
  • Auto-updates via OCW License Server (PRO)

No external services. No code.

Free runs on standard WordPress + Woo. PRO uses the OCW License Server for license validation + updates — that's it.

WordPress

6.0 or higher

Woo

6.0 or higher

PHP

8.0 or higher

Version

2.4.0

Start free.
Upgrade when checkout becomes a conversion lever.

Free covers per-product field toggling. PRO is for B2B-leaning shops and bigger catalogs.

Free

OCW Checkout Logic for WooCommerce

Per-product checkout field toggling, no limits.

0

Free forever · 1 site

  • Per-product config — 21 Woo standard fields, 4 statuses
  • Quick actions (All required / Hide all / …)
  • Drag-and-drop site-wide field order (billing / shipping / order)
  • Cart-aware resolution — strictest rule wins
  • HPOS + Cart & Checkout Blocks compatible
  • Tutorial submenu with progress detection
  • OCW house-style admin (teal / navy / pink)
  • No limit on number of products

No signup, no API keys required.

PRO

OCW Checkout Logic for WooCommerce PRO

For B2B-leaning shops and bigger catalogs.

39

per year · 1 site · excl. VAT

  • Everything in Free, plus:
  • Custom fields per product (text, email, phone, textarea, dropdown, checkbox) with drag-and-drop reordering
  • Conditional logic — "show X when Y = Z"
  • Per-category settings — configure a whole category at once
  • Validation patterns — Dutch postcode, KVK, EU VAT, IBAN, custom regex
  • Configuration templates — save once, apply to any product
  • Custom fields saved as order item meta + visible in admin + emails
  • Automatic updates via OCW License Server
  • Priority support — personal help via email

Per year. Instant access after payment. Cancellable annually.

What people usually want to know
before they install.

Answers to the questions I get most often.

Is this an official WooCommerce plugin?

No. OCW Checkout Logic for WooCommerce is an independent third-party add-on, developed and maintained entirely by Adviespraktijk OCW. It is not affiliated with, sponsored by, or endorsed by Automattic, Inc. "WooCommerce" is a trademark of Automattic, Inc., used here purely to describe what this add-on integrates with. It does require an active WooCommerce installation to operate.

My cart has 3 different products with conflicting rules — which one wins?

Strictest wins. Required > Optional > Hidden > Default. If one product says "phone is required" and another says "phone is optional", phone becomes required for the whole order. Safe choice — never accidentally skips data.

Does it work with Cart & Checkout Blocks?

Yes. The plugin declares cart_checkout_blocks compatibility and ships a small JS shim (assets/js/checkout-blocks.js) that applies hidden/required rules in the block-based checkout too.

Can I reorder the standard Woo checkout fields too — or only the PRO ones?

Both, free. Open Checkout Fields → Field order and drag the 21 standard Woo fields in any order you like across Billing / Shipping / Order sections. The order is site-wide and is applied at checkout via the woocommerce_checkout_fields filter. PRO panels (Custom fields, Conditional logic, Validation rules) each have their own drag handles for reordering rows within that panel.

Does this work with Elementor's WooCommerce Checkout widget?

Yes. Elementor's widget renders fields via Woo's woocommerce_form_field() so the filter and hide rules apply identically. Same goes for Bricks, Divi and any other builder that uses Woo's standard rendering.

Where do PRO's custom field values end up?

As order item meta on the line item that triggered them. Woo automatically shows order item meta in the admin order screen, customer emails, and any PDF invoice plugin that respects order item meta. No manual hook needed.

What's the validation regex if I want a Dutch postcode?

Use the "Dutch postcode (1234 AB)" preset — the underlying regex is /^[1-9][0-9]{3}\\s?[A-Z]{2}$/i if you want to match the same pattern elsewhere.

I have 200 products with the same setup — do I really have to click through each one?

No. In PRO, configure one product the way you want, click "Save current configuration as a new template", give it a name (e.g. Digital products). On every other product, pick the template from the dropdown and click Apply — field statuses, custom fields, conditional logic and validation rules are filled in. Hit the WordPress Update button to persist.

Can I move a PRO license to another domain?

Yes. Clear the key on the old site (this triggers /deactivate on the license server) and enter it on the new site. Single Site = 1 active domain at a time.

How do PRO updates work?

Updates appear in your normal WordPress updates screen. The plugin checks the OCW License Server with your license key, and only an active license receives the new ZIP.

Questions about the plugin?

Or you'd like something adjusted for your situation — I'd love to hear it. I always reply personally.

OCW Checkout Logic for WooCommerce icon

Recognizable in your WordPress dashboard

This is how OCW Checkout Logic for WooCommerce shows up in the WordPress.org plugin directory and in your plugins list — look for the teal-and-pink OCW style.

OCW Checkout Logic for WooCommerce directory banner