Shoppers complete their purchases on your WooCommerce store. The WooDonkey Checkout Fields product lets you customize that checkout. The WooDonkey Companion plugin applies your field layout on both Classic checkout and WooCommerce Blocks.
What it is
Checkout Fields is managed in the WooDonkey dashboard. In the sidebar, open Advanced Tools, then Checkout Fields. The page title is Checkout Fields. The subtitle is Drag fields, put two on a row, and add extra fields to billing, shipping, or general. Country can be hidden. The order still stores the store default country. This page is not inside WooCommerce Settings. Shipping Rules is a different Advanced Tools item. Top right: Reset fields and Save. While data loads, the page shows Loading… During save it shows Saving…
A card holds three switches. Helper text under them: Leave test mode on while you experiment. Shoppers keep the default WooCommerce checkout. WordPress users with manage_woocommerce see your field layout.
- Enabled on the store: default off.
- Test mode (admins only): default on.
- Hide country field: default off.
The editor has three sections: Billing, Shipping, and General.
- Billing: Drag to reorder. Half-width fields sit two on a row. Add a custom field and place it anywhere in this form.
- Shipping: Same as billing fields is off by default. When it is on, shipping is locked to the billing layout, labels, and extra fields. Email and Order notes are not copied. Helper text: Shipping uses the billing layout, labels, and extra fields. Uncheck to edit shipping separately. Add custom field is hidden until you uncheck that switch.
- General: General fields appear after the address on checkout. They show as extra order details, not inside billing or shipping.
How it helps you
Checkout Fields lets you choose which billing, shipping, and extra fields shoppers fill. You can hide unused fields, put two fields on a row, or add a custom question. Shoppers see a shorter or clearer checkout on your WooCommerce store.
What is included
- Enabled on the store switch: Turn this on so the storefront can apply your field layout. Shoppers still see the default WooCommerce checkout while Test mode (admins only) is on.
- Test mode (admins only) switch: Default on. WordPress users with manage_woocommerce see your field layout. Other shoppers keep the default WooCommerce checkout. Test mode wins even if Enabled on the store is on.
- Hide country field switch: Hides the country field from billing and shipping on checkout. The order still stores the store default country from WooCommerce settings.
- Billing section: Reorder billing fields, set width, hide allowed fields, and add custom fields.
- Shipping section: Reorder shipping fields when Same as billing fields is off. Includes that switch.
- Same as billing fields switch: When on, shipping uses the billing layout, labels, and extra fields. Email and Order notes are not copied. The shipping editor is locked. Add custom field is hidden on Shipping until you uncheck the switch.
- General section: Fields appear after the address on checkout. They show as extra order details, not inside billing or shipping.
- Reset fields button: Restores the default core field list, turns Hide country field off, and turns Same as billing fields off. There is no confirmation dialog. It does not change Enabled on the store or Test mode (admins only).
- Save button: Saves the layout and pushes it to Companion. While the save runs, the button shows Saving…
- Companion plugin: Companion applies the layout on Classic checkout and WooCommerce Blocks. After Save, the toast always says Checkout fields saved. Update the companion plugin on the store if it is not on 1.317 yet. The current shipped Companion version is 1.375.0.
- File upload field type: File upload works on Classic checkout only. Block checkout skips this field.
- Conflict detection: Checkout Fields stands down if another checkout field plugin is already active. That includes WooCommerce Checkout Field Editor, Checkout Field Editor Pro, and Flexible Checkout Fields.
- Email merge tags: Custom field answers are saved on the WooCommerce order. The email builder can insert tags such as {billing_city} for core fields and {billing_woodonkey_…} for custom billing fields. There is no merge-tag control on the Checkout Fields page.
- Add custom field: A dashed button. New custom fields start as Custom field, Text, Full row, not required, and visible. They are added to the open section (Billing, Shipping, or General). The button is hidden on Shipping while Same as billing fields is on.
- Field card: Shows the label, 50% or 100%, Required when the field is required, the custom type label when it is custom, and General when a custom field belongs to General.
- Right panel empty state: Select a field to change the name customers see, its width, or whether it is required.
- Label customers see: The display name shoppers see.
- Placeholder: Placeholder text. Disabled for Checkbox, File upload, and Radio buttons.
- Width: Full row or Half row (two fields). Half-width fields sit two on a row on desktop and stack full width on mobile under 768px.
- Belongs to: For custom fields only. Options are Billing, Shipping, and General. Moving a custom field to Shipping turns Same as billing fields off.
- Field type: For custom fields: Text, Dropdown, Checkbox, Number, Date, Radio buttons, or File upload.
- Options (one per line): Shown for Dropdown and Radio buttons. Up to 30 options. Each option is stored up to 80 characters.
- Required switch: Toggle whether the field is mandatory. Disabled for fields the editor cannot change.
- Hide on checkout / Hide country on checkout: Hide a field. Country uses Hide country on checkout. Disabled for fields that cannot be hidden.
- Country helper: The field is hidden. The order still stores the store default country from WooCommerce settings.
- Remove field: Deletes a custom field. Core fields cannot be removed.
- Default billing fields: First name (half, required), Last name (half, required), Company name (optional), Country / Region (required), Street address (required), Apartment, suite, etc. (optional), Town / City (required), State / County (optional), Postcode / ZIP (optional), Phone (optional), Email address (required), Order notes (optional). Order notes sit in Billing in this editor.
- Default shipping fields: First name (half, required), Last name (half, required), Company name (optional), Country / Region (required), Street address (required), Apartment, suite, etc. (optional), Town / City (required), State / County (optional), Postcode / ZIP (optional).
- Hidden on checkout: A chip list of hidden fields in the open section. Click a chip to select that field.
- Limits: Labels and placeholders are stored up to 80 characters. The merged field list is capped at 80 fields.
How to turn on and manage each capability
Open Checkout Fields
- Log in to the WooDonkey dashboard.
- In the sidebar, open Advanced Tools.
- Select Checkout Fields.
Enable or test your layout
- Leave Test mode (admins only) on while you experiment. WordPress users with manage_woocommerce see your layout. Shoppers keep the default WooCommerce checkout.
- To show the layout to all shoppers, turn Test mode (admins only) off and turn Enabled on the store on.
- Click Save.
Hide the country field
- Turn Hide country field on, or select Country / Region and turn Hide country on checkout on.
- Click Save. The field is hidden. The order still stores the store default country from WooCommerce settings.
Reorder fields and set width
- Open Billing, Shipping, or General.
- Drag a field card to a new position.
- Click the field card.
- Under Width, choose Full row or Half row (two fields).
- Click Save.
Rename a field
- Click the field.
- Edit Label customers see.
- Click Save.
Hide or require a core field
- Click the core field.
- Use the Required switch when it is enabled. The switch is disabled for billing First name, Last name, and Email address, shipping First name and Last name, Street address, Town / City, State / County, Postcode / ZIP, and Country / Region. First name, Last name, Email address, Street address, Town / City, and Country / Region stay required. State / County and Postcode / ZIP stay optional in this editor. WooCommerce locale rules still apply on the store.
- Use Hide on checkout when it is enabled. You cannot hide billing First name, Last name, or Email address, or shipping First name or Last name.
- Click Save.
Add a custom field and set its type
- Open Billing, Shipping, or General. If Same as billing fields is on, Add custom field is hidden on Shipping. Uncheck the switch to add shipping-only custom fields, or add the field on Billing.
- Click Add custom field.
- Click the new field card.
- Edit Label customers see. Optionally set Placeholder.
- Under Field type, choose Text, Dropdown, Checkbox, Number, Date, Radio buttons, or File upload.
- For Dropdown or Radio buttons, enter options in Options (one per line).
- Set Width, Required, or Hide on checkout as needed.
- To move a custom field, use Belongs to. Moving it to Shipping turns Same as billing fields off.
- Click Save.
Use Same as billing fields for shipping
- Open Shipping.
- Turn Same as billing fields on. Shipping uses the billing layout, labels, and extra fields. Email and Order notes are not copied. The shipping editor locks.
- To edit shipping separately, turn Same as billing fields off.
- Click Save.
Reset fields to default
- Click Reset fields. There is no confirmation dialog.
- This restores the default core fields, removes custom fields, turns Hide country field off, and turns Same as billing fields off. It does not change Enabled on the store or Test mode (admins only).
- Click Save to push the reset to the store.
Save your changes
- Click Save in the top right.
- The toast says Checkout fields saved. Update the companion plugin on the store if it is not on 1.317 yet. That toast appears after every Save. It is a reminder, not a check that Companion is behind.
- The storefront uses Companion 1.317 or later. The current shipped version is 1.375.0. The layout does not appear until Companion is installed and current enough.
What to know before you start
- Enabled on the store starts off. Test mode (admins only) starts on. Hide country field starts off. Same as billing fields starts off.
- If Test mode (admins only) is on, it wins over Enabled on the store. Only WordPress users with manage_woocommerce see the custom layout.
- Checkout Fields stands down if another checkout field editor plugin is active on the store.
- File upload works on Classic checkout only. Block checkout skips this field.
- There is no shortcode for Checkout Fields.
- You cannot hide billing First name, Last name, or Email address, or shipping First name or Last name.
- Reset fields does not change Enabled on the store or Test mode (admins only).
- Companion 1.317 or later is required. The current shipped version is 1.375.0.
Problems you may hit, and how to fix them
- Symptom: Shoppers do not see your custom checkout layout. Fix: If Test mode (admins only) is on, only users with manage_woocommerce see it. Turn Test mode (admins only) off and turn Enabled on the store on, then click Save.
- Symptom: The layout still does not show, even with Enabled on the store on and test mode off. Fix: Another checkout field plugin may be active. Checkout Fields stands down for plugins such as WooCommerce Checkout Field Editor, Checkout Field Editor Pro, and Flexible Checkout Fields. Deactivate the other plugin, then click Save again.
- Symptom: A File upload field is missing on WooCommerce Blocks checkout. Fix: File upload works on Classic checkout only. Block checkout skips this field.
- Symptom: The country field is hidden, but the order still shows a country. Fix: Expected. Companion keeps billing_country set to the WooCommerce store default country.
- Symptom: You cannot hide the billing Email address field. Fix: Billing Email address cannot be hidden or made optional.
- Symptom: The shipping editor is locked and Add custom field is missing. Fix: Open Shipping and turn Same as billing fields off.
- Symptom: After Save, the toast mentions companion 1.317 even though you just saved. Fix: That toast appears after every Save. It is a reminder to use Companion 1.317 or later. The current shipped version is 1.375.0.
- Symptom: Saved changes do not appear on the storefront. Fix: Install or update the WooDonkey Companion plugin on the store, confirm no conflicting checkout field plugin is active, and confirm test mode is off if you want shoppers to see the layout.
- Symptom: You clicked Reset fields and custom fields disappeared with no confirm prompt. Fix: Reset fields runs immediately. There is no confirmation. Click Save only after you mean to push that reset to the store.