Skip to content

Import and export ​

VX → Settings → Import / Export moves your data model between sites, such as from staging to production. A bundle contains the structure only: post types, taxonomies and fieldsets. It never contains posts, terms, users, media, field values or credentials.

Option pages and dictionaries travel with the bundle too, but not their stored values or your license data. Dictionary entries are the exception, because they're part of the dictionary's definition.

To keep a model in version control rather than moving it once, see Config as code.

Export ​

  • Entire configuration downloads a ZIP of everything VX manages, straight away.
  • Custom bundle lets you pick what to include. Anything the chosen objects need, such as the post type a fieldset targets, is added automatically, and related items are suggested.

Post types and taxonomies that VX doesn't manage, such as Posts, Pages, Categories or a plugin's post type, aren't included. The bundle refers to them by key, and the export screen lists them as Site objects (not included). A reference to something that exists neither in VX nor on the site has to be acknowledged before you download.

Import ​

Upload a ZIP bundle or a single JSON file. Nothing is saved until you start the import. First, choose what happens to each object:

ActionResult
CreateSaves it as a new object. You can give it a different key.
ReplaceApplies it to an existing object of the same type. Registered post types and taxonomies such as Posts count too, and are taken over as with Manage.
Keep unchangedLeaves the existing object alone, but points the bundle's other objects at it. Chosen automatically when an identical object already exists.
SkipIgnores it.

Changing an object's key in the plan also updates everything in the bundle that refers to it: Locations, taxonomy assignments and Taxonomy fields.

For fieldsets you can import only some parts: Fields, Locations, General settings or Active status. Only parts that differ from the destination are listed; unselected parts keep the destination's current values.

If an incoming field's key would clash with a field on another fieldset in the same place, you rename it in the plan. A valid new key is suggested, and Suggested keys can fill in all of them at once. The import can't start while a clash or a missing reference is unresolved.

Warning

Replacing an object that's defined in a PHP or JSON file creates a database copy on top of the file. It doesn't change the file itself.

Run, resume, and roll back ​

Start import checks the plan again and runs it in small batches, saving progress as it goes. If you leave the screen, the import pauses; come back to the Import tab to resume. Import history, next to the tabs, reopens recent imports, including finished ones.

If an item fails, independent items carry on, and items that depend on it are marked as blocked instead. You can retry failed items.

The results screen lists every object, what happened to it, and where it went. Download report saves it.

Roll back import restores the configuration as it was just before the import: new objects are removed, replaced objects get their previous definition back, and a database copy of a code-defined object is discarded. If someone edited an object after the import, that item is reported and left alone. Rollback never touches content or field values.

Importing a single object ​

An object's Source tab can also import a single JSON file straight onto that object. That route is all or nothing, with no session: if anything fails, nothing is saved.

When the site's configuration is locked, imports are disabled and the Import tab says so.

Technical details for LLMs
  • Bundle format: ZIP vx-bundle/v1 with a manifest and one vx-config/v1 envelope per object; dependency closure computed server-side. Single JSON envelopes are accepted too.
  • Sessions are durable and per user (drafts expire after 24 h, receipts after 30 days): see Import sessions API. CLI equivalent (all-or-nothing): wp vx-framework config import <file> [--plan] [--yes]; roll back a dashboard receipt with wp vx-framework config import-run <session-id> --rollback.
  • Plan actions map to create / update / map_only / skip. Fieldset sections: fields, locations, settings, active. Key renames rewrite same-fieldset conditional-logic references.
  • Abilities: vx-framework/export-config (one object, JSON or PHP snippet), vx-framework/import-config (one envelope, all-or-nothing), vx-framework/validate-config.

Documentation for the VX Framework.