=== Cartdini – Checkout Field Editor for WooCommerce ===
Tags: woocommerce, checkout, checkout fields, checkout editor, checkout manager
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 1.8.5
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add custom WooCommerce checkout fields for delivery instructions, gift notes and order details. Supports Classic Checkout and Checkout Blocks.

== Description ==

Cartdini is a WooCommerce checkout field editor for delivery instructions, gift notes, purchase references and other order details. Add questions without writing code and keep customers' answers with the order.

The Free plugin includes nine custom field types in both Classic Checkout and Checkout Blocks: text, select, checkbox, textarea, email, telephone, number, radio and URL. It works without a Cartdini account, license or external service.

= What you can do with Free =

* Add up to 100 custom fields to order information, contact details or both billing and shipping addresses.
* Write labels and help text, choose optional or required answers, and configure supported text limits, number ranges and steps.
* Reorder or duplicate questions and preview their structure before saving.
* Choose answer display in admin/customer orders and supported admin/customer emails.
* Edit supported existing checkout fields while keeping WooCommerce's essential address validation.
* Recover an unfinished local editor draft, review it and save explicitly.
* Use WooCommerce High-Performance Order Storage (HPOS) or legacy order storage.

Add an optional "Delivery instructions" textarea, save it and check its answer on a test order. A gift note is Free; showing it only when another answer matches is Pro.

[Setup guides](https://cartdini.com/docs) | [Classic and Blocks compatibility](https://cartdini.com/compatibility) | [Support](https://cartdini.com/support)

= Editing existing checkout fields =

Classic supports label, placeholder and position changes for supported billing, shipping and order fields. Essential address/email visibility and validation remain native. Six optional-field controls allow visibility/requirement changes; reset individual overrides.

Checkout Blocks supports shared Company, Phone and Address line 2 visibility/requirement settings, labels and order for ten shared address fields, and the default Place Order button text. Shared address changes can also affect Classic checkout; explicit Classic overrides take precedence. Native settings save separately, outside custom-field imports, templates and history. WooCommerce retains country-specific requirements, hidden fields and validation. Blocks contact email, address placeholders and section content remain native controls; payment extensions may supply their own button text.

= When you need Pro =

[Cartdini Pro](https://cartdini.com/free-vs-pro) is a separate paid add-on. It adds conditional questions, fixed paid extras for eligible order choices, private file uploads, date availability rules, time and multiple-choice inputs, repeatable groups, reusable custom-field setups and order-answer CSV tools. Check workflow requirements before purchase. Pro is optional.

Optional Pro previews show local examples and real control screenshots. Hide or restore the preview group for your administrator account on this store. Examples never publish fields, upload files or add charges. Tasks require an explicit remember/pricing action; previewing does not enable measurement.

== Installation ==

Requires WordPress 6.7+, PHP 8.0+ and WooCommerce 9.9+. JavaScript is required for the editor. Current matched release: Free 1.8.5 and Pro 1.8.5.

1. Install and activate WooCommerce.
2. In Plugins > Add New > Upload Plugin, upload the Free ZIP and install it.
3. Use WordPress's Activate Plugin control. A successful single manual activation opens the Cartdini editor.
4. Add your questions, review them and choose Save. For bulk/network activation, open WooCommerce > Cartdini yourself.
5. Complete test checkouts, including missing or invalid answers, and check order/email display before using the configuration on a live store.

Back up your site before updating. Upload the new ZIP and choose Replace current with uploaded; do not uninstall first. With Pro, update Free first and Pro second, keeping both active. Pro 1.8.5 requires Free 1.8.4 or newer; the recommended matched pair is 1.8.5. Settings and saved order answers are retained. Update pairs older than 1.8.0 together: incompatible Pro extensions pause safely. Older formats/recovery: administration-notes.txt.

== Frequently Asked Questions ==

= Does Free work without an account or license? =
Yes. Free field editing and checkout features need no Cartdini account, license key or subscription. Free makes no requests to the Cartdini license service.

= Does activating Cartdini change my checkout immediately? =
New installations enable no sample fields. Save to apply a configuration. Reactivation resumes saved settings; previews and recovered drafts do not publish them.

= Does it work with WooCommerce Checkout Blocks and HPOS? =
Yes. All nine Free custom field types support Classic and Checkout Blocks, and order data uses WooCommerce's CRUD APIs for HPOS and legacy orders. Existing-field controls differ between checkouts as described above. Test your theme and payment extensions on the actual checkout. The compatibility guide lists recorded environments and limits.

= Where can I see customers' answers? =
Answers stay with orders and, for supported contact/address fields, customer accounts. Choose their display on supported order pages/emails; hiding answers does not delete them. Order-answer CSV export and optional Orders-list answer columns belong to Pro.

= Can I make a question conditional, charge for a choice or accept a file? =
Those are Pro features. Free collects ordinary notes. Pro adds conditions, fixed positive fees for eligible order choices and private JPG/PNG/PDF files. Uploads and repeatable groups use the order location only. Pro's initial license activation unlocks editing and tools; disconnecting locks those tools while saved checkout behavior continues. Deactivating Pro pauses Pro-only behavior. Review the separate add-on's licensing and compatibility details.

= What happens to my unfinished work? =
A draft stays in this browser tab for up to 24 hours, scoped to this administrator/store. Closing the tab or clearing storage may remove it. Recovery checks newer settings and loads a draft for review; Save is still required. Custom fields and native Blocks settings have separate save actions. Follow retry/reload guidance rather than deleting recovery records.

= Does deleting the plugin remove settings or order answers? =
No. Deactivation and deletion retain configuration, recovery data and saved answers. Removing a field does not erase historical answers. While Free and WooCommerce are active, WordPress personal-data tools export saved account/order answers; erasure removes account answers and follows WooCommerce's order-retention settings. If an order has private Pro uploads, keep or reactivate a compatible Pro for file erasure; this needs no license. Failed or unreadable storage is reported for retry, and order identity/answers are retained until private-file erasure can be checked safely. Removing both plugins leaves retained data outside their privacy tools.

== Privacy and local preferences ==

Free stores answers in your WordPress/WooCommerce database. It sends no answers or administrator preferences to Cartdini. Request only necessary information and explain its purpose, recipients and retention in your store's privacy policy. Suggested wording is available in WordPress Settings > Privacy.

Browser drafts store field settings, not shopper answers, preview answers, files or license credentials. Full-screen and contextual suggestion preferences use browser storage; WordPress navigation is visible by default. Optional remembered Pro tasks use site-scoped administrator metadata and expire after seven days. Preview-navigation visibility is also administrator/store scoped.

Optional local action counts are off by default. If enabled, they count preview opens, pricing-link clicks and matching workflow saves for 90 days; they do not measure purchases or conversion rates. Counts contain no shopper answers or license keys, stay on the store and are cleared when disabled. Expired tasks and counts are scheduled for removal through WordPress cron while active and are included in personal-data export/erasure. Opening an example is not consent to measurement. Free makes no external service requests; following documentation, support or pricing links opens the selected website. Pro license connections are separately disclosed and require an explicit administrator action.

== Source and licenses ==

All executable PHP, JavaScript and CSS is included as readable source; no compilation or external download is needed. See assets/SOURCE.md for dependencies and translation instructions. Locally bundled fonts make no external request and include their SIL Open Font License in assets/fonts/OFL.txt. Cartdini is licensed under GPLv2 or later; see LICENSE.txt.

== Screenshots ==

1. Cartdini Free workspace with a delivery-instructions question and structural preview. Example settings from version 1.8.5.
2. Question-editor detail: choose the label, answer type, location and whether an answer is required.
3. Checkout detail: an optional delivery-instructions field in a Storefront test shop.
4. Order detail: saved delivery instructions from a fictional test order.

== Changelog ==

= 1.8.5 =
* Clarify Free workflows, checkout compatibility, Pro boundaries, installation and privacy in the readme.
* Bundle detailed administrator notes and the full historical changelog.
* Open the editor after successful single manual Free activation; preserve bulk, network and background flows.
* Match the website logo and Pro 1.8.5. Checkout behavior and requirements are unchanged.

= 1.8.4 =
* Preserve Pro date availability restrictions when saving and resuming a local editor draft. Unfinished values remain available for review; normal validation and an explicit Save are still required.
* Use Cartdini Pro 1.8.4 for the matched release.

Earlier releases: changelog.txt.
