{"id":329643,"date":"2026-06-21T17:53:49","date_gmt":"2026-06-21T17:53:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/onlinefotka-checkout-field-editor-for-woocommerce\/"},"modified":"2026-06-21T20:49:35","modified_gmt":"2026-06-21T20:49:35","slug":"onlinefotka-checkout-field-editor-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/onlinefotka-checkout-field-editor-for-woocommerce\/","author":23503486,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.2","stable_tag":"1.2.2","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Onlinefotka Checkout Field Editor for WooCommerce","header_author":"Onlinefotka","header_description":"Edit, reorder, enable\/disable and add custom fields on the WooCommerce checkout page \u2014 with a modern drag-and-drop interface.","assets_banners_color":"3a58ac","last_updated":"2026-06-21 20:49:35","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/onlinefotka.sk","rating":0,"author_block_rating":0,"active_installs":0,"downloads":32,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"onlinefotka","date":"2026-06-21 17:53:31"},"1.2.2":{"tag":"1.2.2","author":"onlinefotka","date":"2026-06-21 20:49:35"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3580888,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3580888,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3580888,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3580888,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3580888,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.2.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3580969,"resolution":"1","location":"assets","locale":"","width":1630,"height":935},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3580969,"resolution":"2","location":"assets","locale":"","width":1408,"height":831},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3580969,"resolution":"3","location":"assets","locale":"","width":1211,"height":615},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3580969,"resolution":"4","location":"assets","locale":"","width":1400,"height":926}},"screenshots":{"1":"Billing Fields \u2014 sortable list of built-in WooCommerce billing fields with label, placeholder, required and enabled toggles","2":"Custom Fields \u2014 list of custom fields with type, section, required badge and quick enable toggle","3":"Add Custom Field \u2014 form with label, key, type, section, placeholder, description, options, validation regex and conditional logic builder","4":"Settings \u2014 shipping field options, hide shipping for virtual products, data settings","5":"Conditional Logic builder \u2014 add conditions referencing any checkout field with operator selector"}},"plugin_section":[],"plugin_tags":[157033,61045,2010,268252,286],"plugin_category":[45],"plugin_contributors":[263926],"plugin_business_model":[],"class_list":["post-329643","plugin","type-plugin","status-publish","hentry","plugin_tags-checkout-editor","plugin_tags-checkout-fields","plugin_tags-custom-fields","plugin_tags-field-editor","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-onlinefotka","plugin_committers-onlinefotka"],"banners":{"banner":"https:\/\/ps.w.org\/onlinefotka-checkout-field-editor-for-woocommerce\/assets\/banner-772x250.png?rev=3580888","banner_2x":"https:\/\/ps.w.org\/onlinefotka-checkout-field-editor-for-woocommerce\/assets\/banner-1544x500.png?rev=3580888","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/onlinefotka-checkout-field-editor-for-woocommerce\/assets\/icon.svg?rev=3580888","icon":"https:\/\/ps.w.org\/onlinefotka-checkout-field-editor-for-woocommerce\/assets\/icon.svg?rev=3580888","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/onlinefotka-checkout-field-editor-for-woocommerce\/assets\/screenshot-1.png?rev=3580969","caption":"Billing Fields \u2014 sortable list of built-in WooCommerce billing fields with label, placeholder, required and enabled toggles"},{"src":"https:\/\/ps.w.org\/onlinefotka-checkout-field-editor-for-woocommerce\/assets\/screenshot-2.png?rev=3580969","caption":"Custom Fields \u2014 list of custom fields with type, section, required badge and quick enable toggle"},{"src":"https:\/\/ps.w.org\/onlinefotka-checkout-field-editor-for-woocommerce\/assets\/screenshot-3.png?rev=3580969","caption":"Add Custom Field \u2014 form with label, key, type, section, placeholder, description, options, validation regex and conditional logic builder"},{"src":"https:\/\/ps.w.org\/onlinefotka-checkout-field-editor-for-woocommerce\/assets\/screenshot-4.png?rev=3580969","caption":"Settings \u2014 shipping field options, hide shipping for virtual products, data settings"}],"raw_content":"<!--section=description-->\n<p><strong>Checkout Field Editor by Onlinefotka<\/strong> gives you complete control over the WooCommerce checkout page \u2014 without touching any code.<\/p>\n\n<p>Edit existing fields, add custom ones, reorder everything with drag-and-drop, hide fields based on conditions, and validate input with your own rules.<\/p>\n\n<p>Built for both the classic WooCommerce checkout and the new block-based checkout (WC 8.6+).<\/p>\n\n<h3>Edit Built-in WooCommerce Fields<\/h3>\n\n<ul>\n<li>Change labels and placeholder text for all billing, shipping, and order fields<\/li>\n<li>Mark fields as required or optional<\/li>\n<li>Enable or disable individual fields<\/li>\n<li>Drag-and-drop reorder fields within each section<\/li>\n<li>Reset any section back to WooCommerce defaults with one click<\/li>\n<\/ul>\n\n<h3>Add Custom Fields<\/h3>\n\n<ul>\n<li>Add unlimited custom fields to billing, shipping, or order sections<\/li>\n<li>Field types: Text, Email, Phone, Number, Textarea, Select, Radio, Checkbox, Date, Hidden<\/li>\n<li>Set label, placeholder, description (helper text shown below the field), and CSS class<\/li>\n<li>Control sort order within the section<\/li>\n<li>Show or hide the field value in WooCommerce admin order details<\/li>\n<li>Show or hide the field value in WooCommerce order emails<\/li>\n<\/ul>\n\n<h3>Conditional Logic<\/h3>\n\n<ul>\n<li>Show a field only when specific conditions are met<\/li>\n<li>Conditions can reference any checkout field \u2014 built-in WooCommerce fields or your own custom fields<\/li>\n<li>Operators: equals, not equals, contains, not empty, is empty<\/li>\n<li>AND logic \u2014 all conditions must be true for the field to appear<\/li>\n<li>Hidden fields are automatically excluded from required validation and are not saved to the order<\/li>\n<\/ul>\n\n<h3>Validation Rules<\/h3>\n\n<ul>\n<li>Add a custom regex pattern to any text-type field (e.g. <code>^SK[0-9]{10}$<\/code> for Slovak VAT numbers)<\/li>\n<li>Set a custom error message displayed when the pattern does not match<\/li>\n<li>Validation only runs when the field has a value \u2014 empty optional fields are not rejected<\/li>\n<\/ul>\n\n<h3>Block Checkout Support (WC 8.6+)<\/h3>\n\n<ul>\n<li>Custom fields of type Text, Select, and Checkbox are automatically registered with the WooCommerce Blocks checkout API<\/li>\n<li>Works alongside classic checkout \u2014 both can coexist on the same site<\/li>\n<li>Field values are saved consistently regardless of which checkout type the customer used<\/li>\n<\/ul>\n\n<h3>Virtual &amp; Downloadable Products<\/h3>\n\n<ul>\n<li>Optionally hide the entire shipping address section when the cart contains only virtual or downloadable products<\/li>\n<li>If the cart contains at least one physical product, shipping fields are shown normally<\/li>\n<\/ul>\n\n<h3>Order Data<\/h3>\n\n<ul>\n<li>Custom field values are displayed in the WooCommerce admin order detail page<\/li>\n<li>Custom field values are included in WooCommerce order emails (configurable per field)<\/li>\n<li>Values are saved to order meta and accessible via WooCommerce order methods<\/li>\n<\/ul>\n\n<h3>Translations<\/h3>\n\n<p>The plugin interface is available in the following languages:<\/p>\n\n<ul>\n<li><strong>English<\/strong> (built-in)<\/li>\n<li><strong>Slovak<\/strong> (sk_SK)<\/li>\n<li><strong>German<\/strong> (de_DE \/ Deutsch)<\/li>\n<li><strong>Czech<\/strong> (cs_CZ \/ \u010ce\u0161tina)<\/li>\n<\/ul>\n\n<p>Want to translate the plugin into your language? The <code>.pot<\/code> template file is included in the <code>languages\/<\/code> folder. You can also contribute translations via <a href=\"https:\/\/translate.wordpress.org\/\">translate.wordpress.org<\/a>.<\/p>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WordPress 6.0 or higher<\/li>\n<li>WooCommerce 7.0 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install via <strong>Plugins \u2192 Add New<\/strong><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen<\/li>\n<li>Navigate to <strong>WooCommerce \u2192 Checkout Fields<\/strong> to start editing<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20the%20woocommerce%20block%20checkout%3F\"><h3>Does this work with the WooCommerce block checkout?<\/h3><\/dt>\n<dd><p>Yes. Custom fields of type Text, Select, and Checkbox are automatically registered with the WooCommerce Blocks checkout API (requires WooCommerce 8.6+). Types Textarea, Radio, and Hidden appear on classic checkout only \u2014 the Blocks API does not support these types natively.<\/p><\/dd>\n<dt id=\"can%20i%20reorder%20the%20built-in%20woocommerce%20fields%3F\"><h3>Can I reorder the built-in WooCommerce fields?<\/h3><\/dt>\n<dd><p>Yes. On the Billing, Shipping, and Order tabs you can drag rows to change the order. The new order is saved automatically via AJAX and also when you click Save Changes.<\/p><\/dd>\n<dt id=\"will%20my%20changes%20affect%20the%20block%20checkout%3F\"><h3>Will my changes affect the block checkout?<\/h3><\/dt>\n<dd><p>Label, placeholder, required and sort-order changes for built-in WooCommerce fields (First Name, Email, etc.) apply to classic checkout only. Block checkout controls its own built-in fields natively. Custom fields you add are registered in both checkout types.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20field%20values%20when%20i%20delete%20a%20custom%20field%3F\"><h3>What happens to field values when I delete a custom field?<\/h3><\/dt>\n<dd><p>The field definition is removed from the database and the field no longer appears at checkout. Previously collected order meta values (customer data) are NOT deleted \u2014 they remain on the orders where they were saved.<\/p><\/dd>\n<dt id=\"can%20i%20use%20conditional%20logic%20to%20hide%20the%20vat%20field%20for%20individual%20customers%3F\"><h3>Can I use conditional logic to hide the VAT field for individual customers?<\/h3><\/dt>\n<dd><p>Yes. Add a Select or Radio field like \"Customer type\" with options \"Individual\" and \"Business\", then add your VAT field with a condition: Customer type equals Business.<\/p><\/dd>\n<dt id=\"does%20the%20regex%20validation%20work%20on%20both%20classic%20and%20block%20checkout%3F\"><h3>Does the regex validation work on both classic and block checkout?<\/h3><\/dt>\n<dd><p>Regex validation runs server-side during <code>woocommerce_checkout_process<\/code> (classic) and is also applied via the Store API for block checkout orders.<\/p><\/dd>\n<dt id=\"what%20is%20the%20css%20class%20field%20for%3F\"><h3>What is the CSS class field for?<\/h3><\/dt>\n<dd><p>WooCommerce uses CSS classes to control field width. Common values: <code>form-row-wide<\/code> (full width), <code>form-row-first<\/code> (left half), <code>form-row-last<\/code> (right half).<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20delete%20my%20data%20when%20uninstalled%3F\"><h3>Does this plugin delete my data when uninstalled?<\/h3><\/dt>\n<dd><p>No, by default no data is deleted on uninstall. You can enable \"Delete all plugin data on uninstall\" in Settings if you want a clean removal.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Fix: WooCommerce address-i18n JS was also resetting field CSS classes (form-row-first\/last) per country locale \u2014 now overriding locale classes so admin-configured widths are always respected<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fix: WooCommerce address-i18n JS was re-sorting checkout fields by country locale after PHP render \u2014 now overriding locale priorities so admin-configured order is always respected<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added live Checkout Preview panel in the custom field editor \u2014 see exactly how the field will look on the checkout page as you edit it<\/li>\n<li>Added German (de_DE) translation<\/li>\n<li>Added Czech (cs_CZ) translation<\/li>\n<li>Updated Slovak (sk_SK) translation<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added visual field width picker (Full \/ Left \u00bd \/ Right \u00bd) for built-in and custom fields<\/li>\n<li>Added Cart Fields tab \u2014 collect extra information on the Cart page before checkout<\/li>\n<li>Cart field values saved to WooCommerce session and transferred to order meta on completion<\/li>\n<li>Added Slovak (sk_SK) translation<\/li>\n<li>Added languages\/.pot template for community translations<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Edit built-in WooCommerce billing, shipping and order fields<\/li>\n<li>Drag-and-drop reordering with AJAX persistence<\/li>\n<li>Custom fields: Text, Email, Phone, Number, Textarea, Select, Radio, Checkbox, Date, Hidden<\/li>\n<li>Description \/ helper text per custom field<\/li>\n<li>Regex validation with custom error messages<\/li>\n<li>Conditional logic with AND rules<\/li>\n<li>Show custom field values in admin order detail and order emails<\/li>\n<li>Block checkout support via WooCommerce Blocks API (WC 8.6+)<\/li>\n<li>Hide shipping fields for virtual \/ downloadable products<\/li>\n<li>Reset any section to WooCommerce defaults<\/li>\n<li>HPOS (High Performance Order Storage) compatible<\/li>\n<\/ul>","raw_excerpt":"Edit, reorder, add and remove WooCommerce checkout fields with drag-and-drop, conditional logic, validation rules, and full block checkout support.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/329643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=329643"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/onlinefotka"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=329643"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=329643"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=329643"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=329643"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=329643"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=329643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}