šÆ 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.
ā Complete Checkout Customization
ā 20 Field Types for Classic Checkout
ā 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
ā One-Click Reset Feature
ā Translation Ready
smart-checkout-fields-managerā 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
ā 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
Want these features now? Support development to help prioritize!
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 );
`
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;
}
`
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.
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)