Back to Top

Pimcore WPML Connector

Most PimcoreWooCommerce integrations stop at “push a product, get a product.” Add a second language or real product variants, and most of them quietly fall apart.

Categories get duplicated on every re-export. Translations overwrite each other. Variation attributes end up as untyped free text nobody can trust.

This connector was built to not do that. It’s a Pimcore Studio bundle syncing Categories, Brands, Attributes, Products, and Variations with WooCommerce — both directions, every locale, via WPML.

Making Pimcore the source of truth

The real point isn’t just “sync data” — it’s letting Pimcore be the one place your product data lives, with WooCommerce as a storefront that reflects it.

  • Model your catalog in Pimcore, once. Categories, Brands, and Products already live there as Data Objects.
  • Map each field, once, per class. Field Mapping connects any Pimcore field to its WooCommerce counterpart — no code.
  • Export drives WooCommerce from Pimcore. Every edit goes out on the next export, updating the existing entity, never duplicating it.
  • Import stays available for the reverse case — pulling in an existing WooCommerce catalog — but once your team edits in Pimcore, export is all you need day to day.

That’s the whole shift: stop editing product data in two places, and let Pimcore own it.

What it actually does

  • Bidirectional sync — Export and Import for Categories, Brands, Attributes, Products, and Variations, each its own job type with its own history.
  • Real multi-locale sync. Every entity exports per locale as a proper WPML translation group, linked together — not forked, unlinked copies.
  • User-defined field mapping. Map any Pimcore field to any WooCommerce field per class. Localized fields get a locale picker automatically.
  • Variation axis via Classification Store. Color, Material, and similar attributes are typed `select` fields backed by WooCommerce’s real term list.
  • Update, don’t duplicate. If an entity already exists in WooCommerce, export detects the conflict and updates it instead of failing or duplicating.
  • A real job engine. Every sync is an async, queued job with live progress, a full read/write/skip/fail breakdown, and structured logs.

Watch it work, step by step

Step 1 — Connect the store

  1. Open the WPML Connector plugin → Accounts.
  2. Click New account.
  3. Enter a name and the WooCommerce store URL.
  4. Enter the WooCommerce REST API Consumer Key and Secret.
  5. Add every locale this account should sync (e.g. en, de, fr).
  6. Set the Default locale.
  7. Save — the account is ready to map and run jobs against.

Step 2 — Map your fields

  1. Open Field Mapping, pick the account and class (Category).
  2. Click Add mapping.
  3. Choose the Pimcore field, then the matching WooCommerce field.
  4. If localized, pick the locale this row maps to.
  5. Save, and repeat for every field the category needs.

Same steps as above, with the class switched to Brand.

Step 3 — Push Pimcore data out to WooCommerce (export)

  1. Open Export → Category Export.
  2. Select the account.
  3. Click Run.
  4. Watch the job reach `completed`, with 0 failures.

Same steps as Category Export, under Export → Brand Export.

  1. Open Export → Attribute Export, select the account.
  2. Click Select attributes & Run.
  3. Check the attributes to sync (e.g. Manufacturer, Color, Material).
  4. Switch each variant-specific one to “Global attribute (variation axis)”.
  5. Click Run.

This creates the matching WooCommerce attributes and terms before any product goes out.

Same Run flow, under Export → Product Export. Run this after Category and Brand export.

Same Run flow, under Export → Variation Export. Run this after Product and Attribute export.

Each variant’s Color/Material goes out as a real WooCommerce product variation.

Step 4 — Pull WooCommerce data into Pimcore (import)

  1. Open Import → Brand Import, select the account.
  2. Click Run.
  3. Check the Data Object Tree once it completes — the brands now exist as Pimcore objects.

Same Run flow, under Import → Product Import. Run this after Category and Brand import.

Same Run flow, under Import → Variation Import. Run this after Product import.

Open an imported variant and switch locales — Color/Material now land correctly per locale.

Under the hood :

few things worth calling out if you’re loocking something similar:

  • Async job queue. Every export/import dispatches to its own queue, consumed by background workers — never a request that blocks on a big sync.
  • Translation-group-aware exporters. The default locale exports first; every other locale links back to it, matching WPML’s own translation-group shape.
  • Classification Store as the variation-axis source of truth. Variant attributes reuse Pimcore’s existing Classification Store, as a localized `select` field sourced from WooCommerce’s real terms.
. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


Be the first to comment.

Back to Top

Message Sent!

If you have more details or questions, you can reply to the received confirmation email.

Back to Home