Import bootstraps PolyFields from your existing single-language ACF options data. It seeds the default-language store and propagates values to other languages according to each field’s translation mode.
Backup
Always back up your database before running import. Import writes to WordPress options stores; a backup lets you restore the prior state if anything goes wrong.
How import works
Import runs in two steps:
- Seed the default-language store from the original options page value.
- Apply propagation to other language stores according to the field translation mode.
When a value already exists
- Source value empty (
null,'', or empty array for non-container fields): skipped entirely, nothing is written. - Default-language target already has a value: kept as-is by default during import seeding.
copy_oncetarget already has a value: kept as-is (only empty targets are filled).translateandtranslate_oncetarget already has a value: queued translation job skips that target.synctarget already has a value: overwritten to keep stores aligned during propagation (only when the default-language seed step runs for that field; see note below).ignore: no propagation to other language stores, regardless of existing values.
Sync overwrite note
Sync overwrite of sibling language stores only applies when the default-language seed step runs for that field. If seeding is skipped because the default-language value is already set, propagation (including sync) does not run unless --overwrite is passed via WP-CLI.
Machine translation during import
Not all machine translation during import runs in the background. Behavior depends on how import is triggered and on workload thresholds.
- Admin and first-use import: Always queues machine-translation jobs for
translateandtranslate_oncefields when DeepL is available. The import batch may complete in one request for small workloads, but translation jobs still run asynchronously afterward. - WP-CLI import below thresholds: Machine translation runs synchronously during the command.
- WP-CLI import above thresholds: Uses the same queue-based path as admin import.
See Field translation overview and Workload thresholds for threshold configuration.
Admin and WP-CLI
- Import is intended as a one-time bootstrap from admin. After completion, it is marked as completed and cannot be triggered again from the notice.
- WP-CLI import can be run again to force another pass. See wp polyfields import-options.
- To force overwrite non-empty default-language values from WP-CLI, pass
--overwrite.
For field mode details during import, see Field translation overview and the individual mode pages.