Skip to content

Importing

The Import screen is always in the menu — importing is not a module and does not need turning on. It has a tab for each source it reads, plus a tab for WP All Import.

The Import screen — the plan for moving ACF field groups into VX

What it reads

SourceWhat comes across
ACF (and Secure Custom Fields)Field groups as VX fieldsets, with their locations; the post types and taxonomies ACF registers
Meta BoxMeta boxes as VX fieldsets; the post types and taxonomies Meta Box registers
PodsPods groups as VX fieldsets; the post types and taxonomies Pods registers

Definitions are read through each plugin's own API while it is active, so field groups defined in PHP, in JSON, and in the database all come across the same way.

The order matters

Once a VX fieldset is active, it owns its meta keys — and rewrites or deletes anything the source plugin writes to them. So values move first and the switch is last. The screen walks you through it in four steps.

1 · Apply — create the VX definitions

Creates the post types, taxonomies, and fieldsets, inactive. Nothing about the live site changes yet. The plan above the buttons shows every mapping decision before you do this: which VX type each field lands on, which fields would be downgraded because this install is VX Free, and any key clashes.

2 · Run — convert the stored values

Reads each post's values in the source's layout and writes them through VX's own runtime, so VX normalization applies — JSON containers, the relations table, term assignments. Batched and resumable: set the batch size, walk away, come back.

Turn on Dry run first. It reports exactly what it would write, and changes nothing.

Source data is never deleted by this step. Both copies exist until you clean up.

3 · Switch — activate VX, retire the source

Activates the VX fieldsets and stands the source's groups down.

ACF groups are deactivated through ACF's own API. Meta Box and Pods have no such switch, so the module records their ids and filters them out of their registries instead. To bring one back, delete its id from the vxm:importers:suppressed option.

4 · Cleanup — delete the leftovers

Optional, and last. Deletes the rows the source left behind that nothing reads any more: ACF's reference rows, flattened repeater rows, Pods index rows.

Take a backup before step 4

Steps 1 to 3 leave the source's data intact, so they are reversible in practice. Cleanup deletes rows. Take a database backup first.

Options while running

OptionWhat it does
Dry runReport what would change; write nothing
Include groups the source marks inactiveBring across groups the source plugin has switched off
Posts per batchHow many posts each pass handles, 1 to 1000
Reset saved planForget the read plan and progress, and start over

The plan is saved, so you can leave and come back. If the source's field groups changed since you read them, re-read the source — the screen says when the saved plan was read and warns when saved progress belongs to an older one.

VX Free and Pro

Some VX field types are Pro-only — relation, location, area, table, content section, recurring date. When a mapping lands on one of those and this install is Free, the plan says so and offers a choice per field group: downgrade to the closest Free type, or mark the field blocked and leave it out. The default is downgrade.

From the command line

bash
wp vxm import acf              # show the mapping, change nothing
wp vxm import acf --apply      # step 1
wp vxm import acf --run        # step 2
wp vxm import acf --run --dry-run
wp vxm import acf --switch     # step 3
wp vxm import acf --cleanup    # step 4

Swap acf for metabox or pods.

WP All Import

The WP All Import tab installs and activates the free WP All Import plugin from WordPress.org in one click and opens its wizard.

Once it is there, WP All Import's mapping step grows a VX Framework fields section for every post type with a fieldset. It is built on WP All Import's own add-on API, so the free version imports CSV, XML, and Excel straight into VX fields — images and galleries downloaded by WP All Import, terms created as needed.

This is always on while WP All Import is active; there is no module to switch.

Auto-assign matching columns

The section has an Auto-assign matching columns button that fills in every VX field whose key matches a column in the file. A CSV exported from the Sheet maps itself, because the Sheet exports one column per field key.

Groups and repeaters

Groups export and import as one column per sub-field — address__street, address__city. Repeaters still need their rows set by hand in WP All Import; there is no single-column shape that would round-trip them.

Built by Code Wattz.