{"id":380317,"date":"2026-10-05T14:07:48","date_gmt":"2026-10-05T14:07:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/harvify-checkout-manager\/"},"modified":"2026-10-05T14:07:26","modified_gmt":"2026-10-05T14:07:26","slug":"harvify-checkout-manager","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/harvify-checkout-manager\/","author":23508132,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.17","stable_tag":"1.0.17","tested":"7.1.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Harvify Checkout Manager","header_author":"harv","header_description":"Add, reorder, hide and validate WooCommerce checkout fields \u2014 11 field types, drag-and-drop, basic conditional logic, on BOTH classic and block-based checkout. Pro adds advanced field types, multi-condition logic, field fees and validation.","assets_banners_color":"99a3dd","last_updated":"2026-10-05 14:07:26","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":198,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.17":{"tag":"1.0.17","author":"jethalal","date":"2026-10-05 14:07:26","revision":3729056}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3729056,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3729056,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3729056,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3729056,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3729056,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"harvify-checkout-manager\/checkout-fields":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"harvify-checkout-manager\/checkout-fields","version":"1.0.0","title":"Harvify Checkout Fields","category":"woocommerce","description":"Renders your Harvify custom checkout fields (advanced types + conditional logic) on the block checkout.","textdomain":"harvify-checkout-manager","keywords":["checkout","fields","harvify"],"supports":{"html":false,"multiple":false,"reusable":false,"align":false,"inserter":true},"parent":["woocommerce\/checkout-fields-block"],"attributes":{"lock":{"type":"object","default":{"remove":true,"move":true}}},"editorScript":"file:.\/index.js","script":"file:.\/frontend.js"}},"tagged_versions":["1.0.17"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3729056,"resolution":"1","location":"assets","locale":"","width":900,"height":497},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3729056,"resolution":"2","location":"assets","locale":"","width":900,"height":1256},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3729056,"resolution":"3","location":"assets","locale":"","width":900,"height":776},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3729056,"resolution":"4","location":"assets","locale":"","width":1280,"height":800},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3729056,"resolution":"5","location":"assets","locale":"","width":1280,"height":800}},"screenshots":{"1":"Build checkout fields and drag them into order \u2014 on classic and Blocks\ncheckout alike.","2":"Hide, rename or make optional the fields WooCommerce ships, with a guard on\nthe ones an order needs.","3":"Twelve field types are free; a licence adds uploads, fees and conditional\nlogic.","4":"Your own fields on the checkout, alongside the WooCommerce ones.","5":"The cart your customers reach before those fields, unchanged and\nuncluttered."}},"plugin_section":[],"plugin_tags":[3148,232945,61045,2010,286],"plugin_category":[45],"plugin_contributors":[280380],"plugin_business_model":[],"class_list":["post-380317","plugin","type-plugin","status-publish","hentry","plugin_tags-checkout","plugin_tags-checkout-blocks","plugin_tags-checkout-fields","plugin_tags-custom-fields","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-jethalal","plugin_committers-jethalal"],"banners":{"banner":"https:\/\/ps.w.org\/harvify-checkout-manager\/assets\/banner-772x250.png?rev=3729056","banner_2x":"https:\/\/ps.w.org\/harvify-checkout-manager\/assets\/banner-1544x500.png?rev=3729056","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/harvify-checkout-manager\/assets\/icon.svg?rev=3729056","icon":"https:\/\/ps.w.org\/harvify-checkout-manager\/assets\/icon.svg?rev=3729056","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/harvify-checkout-manager\/assets\/screenshot-1.png?rev=3729056","caption":"Build checkout fields and drag them into order \u2014 on classic and Blocks\ncheckout alike."},{"src":"https:\/\/ps.w.org\/harvify-checkout-manager\/assets\/screenshot-2.png?rev=3729056","caption":"Hide, rename or make optional the fields WooCommerce ships, with a guard on\nthe ones an order needs."},{"src":"https:\/\/ps.w.org\/harvify-checkout-manager\/assets\/screenshot-3.png?rev=3729056","caption":"Twelve field types are free; a licence adds uploads, fees and conditional\nlogic."},{"src":"https:\/\/ps.w.org\/harvify-checkout-manager\/assets\/screenshot-4.png?rev=3729056","caption":"Your own fields on the checkout, alongside the WooCommerce ones."},{"src":"https:\/\/ps.w.org\/harvify-checkout-manager\/assets\/screenshot-5.png?rev=3729056","caption":"The cart your customers reach before those fields, unchanged and\nuncluttered."}],"raw_content":"<!--section=description-->\n<p>Harvify Checkout Manager lets you customise the WooCommerce checkout without touching code. Add your own fields, reorder them, hide or rename the built-in fields, and show a field only when it's relevant \u2014 and it all works on <strong>both<\/strong> the classic shortcode checkout <strong>and<\/strong> the new WooCommerce Blocks checkout that ships on modern stores.<\/p>\n\n<p>Every free field type renders natively on the Blocks checkout as well as the classic one, so a store using WooCommerce's default checkout sees your fields exactly as a classic store does.<\/p>\n\n<p><strong>Free features:<\/strong><\/p>\n\n<ul>\n<li><strong>12 field types<\/strong>: text, textarea, select, checkbox, radio, number, email,\nphone, URL, date, plus content blocks (heading \/ paragraph)<\/li>\n<li>Add fields to any checkout section: billing, shipping, order notes, or after\npayment<\/li>\n<li><strong>Drag-and-drop reordering<\/strong> of your custom fields and of WooCommerce's own\naddress fields<\/li>\n<li><strong>Hide, rename, reorder, or change which are required<\/strong> among the built-in\nWooCommerce fields, on both checkouts, with a\nsafety guard that never lets you remove a field WooCommerce needs to complete\nan order or calculate tax\/shipping<\/li>\n<li>Placeholder, default value, width (full \/ half) and CSS class per field<\/li>\n<li><strong>Basic conditional logic<\/strong> \u2014 show a field only when another field has a given\nvalue<\/li>\n<li>Values saved to order meta and shown on the admin order screen, the\norder-confirmation email (per-field toggle), and the customer's My Account \u2192\nOrder details<\/li>\n<li>Works on classic AND WooCommerce Blocks checkout<\/li>\n<li>WooCommerce HPOS compatible<\/li>\n<\/ul>\n\n<p><strong>Pro features (Harvify Pro Bundle):<\/strong><\/p>\n\n<ul>\n<li><strong>Advanced field types<\/strong>: file upload, time picker, multi-select, colour\npicker, password, hidden, and HTML\/section blocks<\/li>\n<li><strong>Advanced conditional logic<\/strong> \u2014 multiple conditions with AND\/OR groups,\ntriggered by field value, product in cart, cart total, user role, shipping\nmethod, or payment method<\/li>\n<li><strong>Conditional required<\/strong> \u2014 make a field required only when a condition is met\n(e.g. VAT number required when country is in the EU)<\/li>\n<li><strong>Field fees<\/strong> \u2014 add a fixed or percentage fee to the order based on a field's\nvalue or selection, applied live on both classic and Blocks checkout<\/li>\n<li><strong>Advanced validation<\/strong> \u2014 regex pattern, min\/max length, min\/max number, and a\ncustom error message<\/li>\n<li><strong>Fields beyond the checkout<\/strong> \u2014 put a field on the <strong>registration form<\/strong> or\non <strong>My Account \u2192 edit address<\/strong>. Those answers are saved against the\n<em>customer<\/em>, so they follow them to every future order instead of one<\/li>\n<li><strong>Import \/ export<\/strong> \u2014 your entire field configuration as JSON to back it up or\nmove it between sites<\/li>\n<\/ul>\n\n<h4>Adding a checkout field<\/h4>\n\n<ol>\n<li>Go to <strong>Harvify \u2192 Checkout Manager<\/strong>. The <strong>Custom fields<\/strong> tab lists your fields.<\/li>\n<li>Click <strong>+ Add field<\/strong>.<\/li>\n<li>Choose the <strong>Field type<\/strong> and type the <strong>Label<\/strong> customers will see. For a select\nor radio field, enter the <strong>Options<\/strong>, one per line.<\/li>\n<li>Choose the <strong>Section<\/strong> of the checkout it belongs in: billing, shipping, order\nnotes \/ additional, or after payment. On the Blocks checkout, billing fields\nappear under Contact information (WooCommerce hides the billing address when it\nmatches shipping), shipping fields in the shipping address, and order-notes and\nafter-payment fields after the payment options.<\/li>\n<li>Set <strong>Required<\/strong>, <strong>Placeholder<\/strong>, <strong>Default value<\/strong>, <strong>Width<\/strong> and an optional\n<strong>CSS class<\/strong> as needed, and\ntick <strong>Show in emails<\/strong> to include the answer in order emails.<\/li>\n<li>To show the field only when another field has a given value, use <strong>Show this\nfield only when<\/strong> to pick that field and the value it must have.<\/li>\n<li>Click <strong>Save field<\/strong>. Drag the \u2630 handle to reorder fields.<\/li>\n<\/ol>\n\n<p>The answer is saved on the order and shown on the admin order screen, in the\norder-confirmation email (if you ticked <strong>Show in emails<\/strong>) and in the customer's\nMy Account \u2192 Order details.<\/p>\n\n<h4>Changing WooCommerce's own fields<\/h4>\n\n<p>Open the <strong>Native fields<\/strong> tab. For each built-in field you can type a new label in\n<strong>Rename\u2026<\/strong>, tick <strong>Hide<\/strong>, or tick or untick <strong>Required<\/strong>; drag an address field by its\n\u2630 handle (or use the arrows) to change the order. Then click <strong>Save native fields<\/strong>.\nEach Required box starts as WooCommerce has it, and only what you change is saved.\nFields an order cannot complete without are marked <strong>required for checkout<\/strong> and\ncannot be hidden.<\/p>\n\n<p>WooCommerce uses one set of address fields for the billing and the shipping address,\nso each is set once and applies to both. The changes apply on the classic and the\nBlocks checkout. On the Blocks checkout the order note can be hidden; renaming it or\nmaking it required applies to the classic checkout only, because WooCommerce's block\noffers no way to do either.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to Freemius, the licensing and update service Harvify uses to\nsell and deliver the Pro tier of its plugins.<\/p>\n\n<p>Nothing is sent to Freemius unless you choose to send it. On activation you are shown\nFreemius's standard opt-in screen. Until you answer it a fresh install makes no\noutbound request at all, and if you choose Skip the free tier stays fully usable\nand still sends nothing. Data is transmitted only when you take one of these\nactions:<\/p>\n\n<ul>\n<li><strong>You click \"Allow &amp; Continue\" on the Freemius opt-in screen.<\/strong> This sends your\nsite address, your administrator email address, and your WordPress, PHP and active\nplugin\/theme details, so Harvify can provide support and know which environments to\ntest against. Skipping that screen sends nothing and leaves the plugin working\nnormally.<\/li>\n<li><strong>You enter a Pro Bundle licence key.<\/strong> This sends the key together with your site\naddress so the licence can be activated for that site. While a licence is active the\nsite also re-checks periodically that it is still valid and whether a Pro update is\navailable.<\/li>\n<\/ul>\n\n<p>Service provided by Freemius, Inc. - https:\/\/freemius.com\/\nTerms of service: https:\/\/freemius.com\/terms\/\nPrivacy policy: https:\/\/freemius.com\/privacy\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/harvify-checkout-manager\/<\/code><\/li>\n<li>Activate via <strong>Plugins \u2192 Installed Plugins<\/strong><\/li>\n<li>Go to <strong>Harvify \u2192 Checkout Manager<\/strong> to add fields and manage the native WooCommerce fields<\/li>\n<li>Ensure WooCommerce is active<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20custom%20fields%20work%20on%20the%20new%20blocks%20checkout%3F\"><h3>Do custom fields work on the new Blocks checkout?<\/h3><\/dt>\n<dd><p>Yes. Every free field type renders natively inside the WooCommerce Blocks checkout as well as the classic checkout, so your fields are never silently missing on a modern store.<\/p><\/dd>\n<dt id=\"can%20i%20break%20my%20checkout%20by%20hiding%20a%20field%3F\"><h3>Can I break my checkout by hiding a field?<\/h3><\/dt>\n<dd><p>No. Fields WooCommerce needs to complete an order or compute tax and shipping \u2014 billing email, country, name, address, city, postcode (and the shipping equivalents when shipping to a different address) \u2014 are guarded and cannot be hidden or removed from the plugin's UI.<\/p><\/dd>\n<dt id=\"are%20uploaded%20files%20safe%3F\"><h3>Are uploaded files safe?<\/h3><\/dt>\n<dd><p>Yes. Pro file uploads are validated by real file content (not just the extension) against an allow-list of safe types, capped in size, stored with a randomised filename in a directory that blocks direct and PHP execution, and are only downloadable by store managers.<\/p><\/dd>\n<dt id=\"is%20customer%20input%20escaped%3F\"><h3>Is customer input escaped?<\/h3><\/dt>\n<dd><p>Every custom field value is sanitised when saved and escaped on every output path \u2014 order meta, admin order screen, confirmation email, My Account order details, and both Blocks and classic checkout.<\/p><\/dd>\n<dt id=\"where%20are%20field%20values%20stored%3F\"><h3>Where are field values stored?<\/h3><\/dt>\n<dd><p>Each field value is saved as order meta on the order it was submitted with, so it travels with the order everywhere WooCommerce shows order data.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.17<\/h4>\n\n<ul>\n<li><strong>Fixed: plain text, select and checkbox fields now appear on the classic checkout.<\/strong> They were\nleft to WooCommerce to draw, and WooCommerce only draws such fields on the Blocks checkout. Every\nfield is now drawn by this plugin on both checkouts. Answers on existing orders are still shown.<\/li>\n<li><strong>Fixed: placeholder, default value and width now apply to every field type on both checkouts.<\/strong>\nThey were ignored for plain text, select and checkbox fields, and the default value was never\napplied on the Blocks checkout.<\/li>\n<li><strong>Fixed: changes on the Native fields tab now reach the shopper on both checkouts.<\/strong> Rename and\nRequired were undone in the browser on the classic checkout for most address fields, and nothing\non that tab applied to the Blocks checkout. Address fields are now set once and used for the\nbilling and the shipping address, which is how WooCommerce itself defines them.<\/li>\n<li><strong>Fixed: saving the Native fields tab no longer makes optional fields required.<\/strong> Every\nRequired box was shown ticked and saved that way, so a Save that only renamed a label made\nAddress line 2, Company, Phone and Order notes mandatory at the checkout. Each box now starts\nas WooCommerce has it, and only what you change is saved. If you saved that tab on an earlier\nversion, open it once and untick anything you did not mean to require.<\/li>\n<li><strong>Fixed: a field shown \"only when\" a plain select or one of WooCommerce's own fields has a\nvalue now appears on the Blocks checkout.<\/strong><\/li>\n<li><strong>New: reorder WooCommerce's address fields<\/strong>, with the arrows or by dragging.<\/li>\n<li><strong>New: dragging a field by its handle now reorders it.<\/strong> The handle was there but only the\narrows worked.<\/li>\n<li><strong>New: a CSS class per field.<\/strong><\/li>\n<li>On the Blocks checkout your fields now sit in the step their section names: billing fields under\nContact information, shipping fields in the shipping address, the rest after payment.<\/li>\n<\/ul>\n\n<h4>1.0.16<\/h4>\n\n<ul>\n<li><strong>Fixed: on a site running only this plugin, the Upgrade tab and the Plan screen now show\nwhat the free version includes and what a licence adds.<\/strong> They showed a single line: the\nplugin shipped the feature catalogue but did not load it, so it only worked where another\nHarvify plugin was also active.<\/li>\n<\/ul>\n\n<h4>1.0.15<\/h4>\n\n<ul>\n<li><strong>Fixed: deleting the plugin with \"delete data\" switched on left one option behind<\/strong>\n(<code>hckm_upload_names<\/code>, the original names of files customers uploaded to a Pro\nfile field). It is now removed with the rest. The uploaded files themselves are\nkept, because the orders they belong to still refer to them.<\/li>\n<li><strong>Freemius now asks before connecting.<\/strong> On activation you see Freemius's standard\nopt-in screen with a Skip button; skipping sends nothing and the plugin works as\nbefore. The External services section is updated to match.<\/li>\n<li>The Pro field types (file upload, time, multi-select, colour, password, hidden and\nHTML section) are now built only into the Pro version. The free version no longer\ncontains their code, and the field builder shows a short note about them instead of\ngreyed-out options. A stored field of one of those types is marked <strong>Pro, paused<\/strong>\nin the field list while no licence is active.<\/li>\n<li><strong>Fixed: a lapsed licence could move fields.<\/strong> Pressing Save in the field builder\nwhile a licence was lapsed moved every registration-form and My Account field onto\nthe checkout. Those fields now stay where they are, and their Pro field types are\nkept unchanged, until the licence is renewed.<\/li>\n<li><strong>Fixed: a Pro colour field showed nothing on the classic checkout.<\/strong> WooCommerce's\nform builder has no colour input, so the field was silently dropped; it now renders.<\/li>\n<li><strong>Fixed: radio options were printed on top of each other on the block checkout.<\/strong>\nWooCommerce's floating-label style caught every option label, so a two-option radio\nfield showed both labels in the same spot. Options now sit side by side (the Pro\nmulti-select had the same problem and is fixed too).<\/li>\n<li>On the block checkout, Pro time, colour and password fields now use the matching\ninput (colour as a swatch), and a hidden field is no longer shown as a text box.<\/li>\n<li>Readme: step-by-step instructions for adding fields and changing WooCommerce's own\nfields.<\/li>\n<\/ul>\n\n<h4>1.0.13<\/h4>\n\n<ul>\n<li>Added: a single <strong>Support<\/strong> entry in the Harvify menu, so you can reach us from\ninside WordPress. Until now no plugin offered a contact route at all. One entry for\nthe whole suite rather than one per plugin.<\/li>\n<li>No behaviour changes.<\/li>\n<\/ul>\n\n<h4>1.0.12<\/h4>\n\n<ul>\n<li>Added: an <strong>External services<\/strong> section to this readme, naming every third-party\nservice the plugin can contact, exactly what is sent, when, and each provider's terms\nand privacy policy. Required for WordPress.org submission.<\/li>\n<li>Changed: the <code>Contributors<\/code> field now names the correct WordPress.org account.<\/li>\n<li>No behaviour changes.<\/li>\n<\/ul>\n\n<h4>1.0.11<\/h4>\n\n<ul>\n<li>Performance: the custom checkout field configuration is no longer loaded into\nmemory on every page request. It is only read where it is used -- the checkout,\norder processing and the settings screen -- which is how every other Harvify\nplugin already stores its settings.<\/li>\n<\/ul>\n\n<h4>1.0.10<\/h4>\n\n<ul>\n<li>Fixed: on the block checkout a custom field's label printed on top of its\nplaceholder. The field wrapper carries WooCommerce's text-input class, whose\nlabel is positioned inside the input and only floats clear when WooCommerce's\nown component marks it active -- which never happened for our fields.<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Added: a single <strong>Manage licence<\/strong> link on the Plan screen, so an active customer can\ndeactivate this site, change their licence key or re-check their licence without\nneeding a URL from support. No per-plugin Account tab is added.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li><strong>One upgrade link instead of one per plugin.<\/strong> With several Harvify plugins active the\nmenu showed a row called \"Upgrade\" for each of them, all identically labelled, and it kept\nsaying Upgrade to people who had already bought. They are replaced by a single <strong>Plan<\/strong>\nscreen that says what the bundle costs, what it covers, and whether your licence is active.<\/li>\n<li><strong>The dashboard is quiet again.<\/strong> Each plugin used to add its own \"opt in to make this\nbetter\" notice to the main WordPress dashboard, so five plugins meant five notices. Harvify\nplugins now share one queue: promotional notices appear only on Harvify's own screens, and\nonly one at a time. Licence and account messages are never held back.<\/li>\n<li><strong>Fixed: the \"Data &amp; uninstall\" box covered the page.<\/strong> It was being drawn into the admin\nfooter, which WordPress pins to the bottom of the screen, so it floated on top of whatever was\nunderneath it. It now sits in the page like any other card. Saving it also tells you what it\nsaved, instead of just reloading.<\/li>\n<li><strong>Fixed: the upgrade screen advertised the wrong number of sites.<\/strong> Several plugins listed\nthe Freelancer and Agency plans as covering 5 and 25 sites. They cover 3 and 10.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li><strong>Uninstall no longer destroys your data by default.<\/strong> Deleting the plugin used to remove\neverything it had stored, with no way to stop it -- so deleting it to troubleshoot took the lot\nwith it. Now the default is to KEEP your data, and a new <strong>Data &amp; uninstall<\/strong> control on the\nplugin's own screen lets you opt in to a full wipe if that is what you want.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li><strong>Fixed: the Delete button next to Edit was a different size and had the browser's default\nchrome.<\/strong> It carried only the \"button-link-delete\" class, which nothing styles -- so it fell\nback to an unstyled 23px control beside a 40px Edit. Both are now the same size, with Delete\nin red.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li><strong>Fixed: the branded admin header and cards were completely unstyled.<\/strong> The shared design\nsystem is scoped to a CSS class the app never applied, so the header and card chrome\nrendered as plain text instead of the Harvify admin design used by the rest of the suite.<\/li>\n<li><strong>Fixed: the Free\/Pro badge in the header never appeared.<\/strong> The plan pill was passed to the\nshared admin header under the wrong key, so nothing said which tier you were on.<\/li>\n<li><strong>Fixed: the \"Upgrade to Pro Bundle\" button went nowhere<\/strong> -- built with the wrong argument\nnames, so the link fell back to \"#\" and no \"Compare plans\" link rendered.<\/li>\n<li>The Upgrade screen now states what the free tier keeps -- all 12 field types on BOTH classic\nand Blocks checkout, drag-and-drop reorder, native-field management and basic conditional\nlogic -- and lists the Pro additions including fields on registration and My Account.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Documentation: the free tier was described as having 11 field types when it has 12 -- the two\ncontent blocks (heading and paragraph) were being counted as one. Undercounting is the safer\ndirection to be wrong in, but it is still wrong. No code changed.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li><strong>Fixed: saving your fields on a lapsed licence used to delete them.<\/strong> With the Pro build\ninstalled and no valid licence, opening the field builder and pressing Save \u2014 without changing\nanything \u2014 removed every Pro-type field (file upload, time, multi-select, colour, password)\noutright, and stripped the fee, validation and conditional-logic settings from the rest. It was\nsilent and there was no undo. Your configuration is now carried through a lapse untouched: it\nsimply stops taking effect until the licence is renewed. An unlicensed site still cannot create\nnew paid configuration \u2014 keeping what you had is not the same as adding something new.<\/li>\n<li><strong>Pro features now stop when a licence lapses<\/strong> rather than continuing on the installed premium\nbuild: field fees, advanced conditional logic, validation rules, file uploads, the extra field\nlocations, and config import\/export. <strong>Fees are the important one \u2014 a stored fee is no longer\ncharged to your customers while a licence is lapsed.<\/strong><\/li>\n<li>Files your customers already uploaded stay downloadable from the order screen. They belong to\nreal orders you still have to fulfil.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>New (Pro): <strong>fields on additional locations<\/strong> \u2014 a field can now live on the <strong>registration form<\/strong>\nor on <strong>My Account \u2192 edit address<\/strong> instead of the checkout. Pick it from <em>Where it appears<\/em> on the\nfield editor. Required fields block registration and address saving with a message naming the field,\nand a blank required field never wipes a value that was already stored.<\/li>\n<li>Account-location answers are saved against the <strong>customer<\/strong> (user meta), not an order \u2014 they belong\nto the shopper and follow them to every future order.<\/li>\n<li>A field now belongs to exactly one place: the nine internal callers that walk the field list are\nscoped to the checkout by default, so a registration field can never reach an order, a confirmation\nemail or the Blocks checkout schema.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Your licence is now manageable from the plugin itself. The Account screen was previously\nhidden, which also hid <strong>Deactivate License<\/strong> \u2014 so a licence could not be released from one\nsite to move it to another without contacting support. It is visible again, along with the\nlicence key, plan, Sync and Change License.<\/li>\n<li><strong>Harvify \u2192 Tools<\/strong> now opens with a <strong>Your licences<\/strong> table: every installed Harvify plugin,\nthe plan it is on, whether Pro features are actually running, and a link to its Account screen.\nFreemius gives each product its own separate Account page, so this is the one place that\nanswers \"what am I on\" across the whole bundle.<\/li>\n<li>The repeated <em>\"Opt in to make \u2026 better!\"<\/em> admin notice no longer appears. Licence, plan and\nupdate notices are unaffected \u2014 only the opt-in prompt is suppressed.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: 11 free field types on classic + Blocks checkout, drag-drop reorder, native-field management with a checkout-safety guard, basic conditional logic, and order\/email\/My-Account display.<\/li>\n<li>Pro: advanced field types (file upload, time, multiselect, colour, password, hidden, HTML), advanced AND\/OR conditional logic, conditional-required, field fees, advanced validation, fields on the registration form and My Account edit-address, and configuration import\/export.<\/li>\n<\/ul>","raw_excerpt":"Add, reorder and hide WooCommerce checkout fields on the classic and Blocks checkout. Advanced conditions, fees and uploads in Pro.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/380317","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=380317"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jethalal"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=380317"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=380317"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=380317"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=380317"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=380317"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=380317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}