
🎯 WooCommerce Checkout Fields Customization Plugin
Fieldora Checkout for WooCommerce gives you complete control over your WooCommerce checkout. Add unlimited custom fields, edit default fields, rearrange with drag-and-drop, and choose from 20+ field types.
Note: This plugin currently supports Classic WooCommerce checkout only. Block checkout support is planned for a future release.
Key Features
✅ Complete Checkout Customization
- Add custom fields to Billing, Shipping, or Additional Information sections
- Edit ALL default WooCommerce fields (label, placeholder, required status, etc.)
- Drag-and-drop field reordering with real-time priority updates
- Enable/disable fields with toggle switches
- Visual distinction between default and custom fields
- Delete protection for required WooCommerce fields
✅ 20 Field Types for Classic Checkout
- Text – Single-line text input
- Number – Numeric input with validation
- Hidden – Hidden field for storing data
- Password – Password input field
- Email – Email input with validation
- Phone (tel) – Phone number input with validation
- Radio – Radio button options
- Textarea – Multi-line text area
- Select – Dropdown select menu
- Multi-Select – Multi-selection dropdown
- Checkbox – Single checkbox
- Checkbox Group – Multiple checkboxes returning array
- DateTime Local – Date and time picker
- Date – Date picker
- Month – Month picker
- Time – Time picker
- Week – Week picker
- URL – URL input with validation
- Heading – Display-only section heading (H3)
- Paragraph – Display-only paragraph text
✅ Comprehensive Field Validation
Built-in Type Validation:
* Number: Numeric-only input
* Email: Valid email format
* Phone: 7-15 digit phone validation
* URL: Valid URL format
Custom Validation Rules:
* Postcode: Postal code format (3-10 alphanumeric)
* State: Valid WooCommerce state code
* Phone (strict): Strict international phone format
Features:
* Multiple validation rules per field
* Custom error messages with field labels
* Server-side validation on checkout
* Developer hook for custom validation rules
✅ Field Visibility Controls
Granular control over where fields appear:
* Order Details Page – Show on customer order details and thank you page
* Admin Emails – Include in admin notification emails
* Customer Emails – Include in customer order emails
All visibility settings respected across:
* Admin order edit page
* Customer My Account Order Details
* Thank You page
* New Order emails (admin)
* Processing Order emails (customer)
* Completed Order emails (customer)
✅ Order Integration
- Automatic field value saving on checkout
- Type-based sanitization (email, tel, number, url, textarea, arrays)
- Field label storage for proper display
- Support for array values (multi-select, checkbox group)
- Display in admin order page (billing & shipping sections)
- Display in customer order details page
- Display in WooCommerce emails
- Proper formatting for arrays, dates, URLs, multi-line text
✅ One-Click Reset Feature
- Reset individual sections (Billing, Shipping, or Additional)
- Delete all custom fields in selected section
- Restore default WooCommerce field configurations
- Confirmation dialog with safety check
- Success notifications
✅ Translation Ready
- All strings wrapped in translation functions
- Text domain:
smart-checkout-fields-manager - Compatible with Loco Translate, WPML, and Polylang
- RTL language support
- Ready for community translations
✅ Developer-Friendly
Powerful hooks for developers:
* Actions: scfm_init, scfm_field_deleted, scfm_after_field_save, scfm_validate_field
* Filters: scfm_sanitize_field_data, scfm_checkout_fields, scfm_field_config, scfm_field_value
* Full documentation in code
* Easy to extend with custom field types
Use Cases
- E-Commerce Stores: Collect delivery instructions, gift messages, company VAT numbers
- B2B Shops: Add business license fields, tax IDs, purchase order numbers
- Subscription Services: Collect subscription preferences, renewal dates
- Event Tickets: Add attendee information, dietary requirements
- Custom Products: Collect personalization details, custom specifications
- Multi-Vendor: Add vendor-specific information fields
Why Choose Fieldora Checkout for WooCommerce?
✓ 20+ Field Types – Wide selection of field types
✓ Drag & Drop – Intuitive interface for field management
✓ No Coding Required – User-friendly admin interface
✓ Developer Friendly – Extensive hooks and filters
✓ Translation Ready – Works in any language
✓ Active Development – Regular updates and improvements
Premium Features (Coming Soon)
- Conditional Logic – Show/hide fields based on other field values
- Field Dependencies – Make fields required based on conditions
- Import/Export – Backup and share field configurations
- Field Templates – Pre-built field sets for common scenarios
- Advanced Field Types – Signature, File Upload, Color Picker, Range Slider
- Multi-Step Checkout – Split checkout into multiple steps
- Field Analytics – Track field completion rates
- Priority Support – Fast email support
Want these features now? Support development to help prioritize!
Developer Documentation
Available Hooks
Actions:
`php
// Plugin initialization
do_action( ‘scfm_init’ );
// After field deletion
do_action( ‘scfm_field_deleted’, $section, $field_id );
// After field value saved to order
do_action( ‘scfm_after_field_save’, $field_id, $value, $order_id );
// Custom field validation
do_action( ‘scfm_validate_field’, $field_id, $field, $value, $errors );
`
Filters:
`php
// Modify sanitized field data
$sanitized = apply_filters( ‘scfm_sanitize_field_data’, $sanitized, $data );
// Modify default WooCommerce fields
$fields = apply_filters( ‘scfm_default_woocommerce_fields’, $fields, $section );
// Modify checkout fields before rendering
$fields = apply_filters( ‘scfm_checkout_fields’, $fields );
// Modify individual field configuration
$wc_field = apply_filters( ‘scfm_field_config’, $wc_field, $field_id, $field );
// Modify field value before saving
$value = apply_filters( ‘scfm_field_value’, $value, $field_id, $field, $order_id );
`
Adding Custom Field Types
Use the scfm_field_config filter to add custom field types:
`php
add_filter( ‘scfm_field_config’, ‘my_custom_field_type’, 10, 3 );
function my_custom_field_type( $wc_field, $field_id, $field ) {
if ( $field[‘type’] === ‘my_custom_type’ ) {
$wc_field[‘type’] = ‘text’;
$wc_field[‘custom_attributes’] = array(
‘data-custom-type’ => ‘my_custom_type’
);
}
return $wc_field;
}
`
Custom Validation Rules
Add custom validation using the scfm_validate_field action:
`php
add_action( ‘scfm_validate_field’, ‘my_custom_validation’, 10, 4 );
function my_custom_validation( $field_id, $field, $value, $errors ) {
if ( $field[‘type’] === ‘text’ && strlen( $value ) < 5 ) {
$errors->add( ‘validation’, ‘Minimum 5 characters required!’ );
}
}
`
Full developer documentation available on GitHub.
Support
- 📧 Email: theodore.sfakianakis@gmail.com
- 🐛 Bug Reports: GitHub Issues
- 💬 Questions: GitHub Discussions
- 💰 Donate: PayPal
Donations
If this plugin helped your WooCommerce store, consider supporting its development:
Why donate?
* ☕ Buy me a coffee
* 🚀 Fund premium features development
* 🐛 Faster bug fixes and support
* 📚 Better documentation
* ❤️ Show appreciation
Every contribution helps keep this plugin free and actively maintained!
Made with ❤️ by Theodore Sfakianakis (irmaiden)