Import from Shopify
Import from Shopify works in the opposite direction to the rest of Wash. It pulls a Shopify blog's articles into WordPress as posts, or the shop's Pages in as WordPress pages. Use it when the content already lives in Shopify and you want to manage it from WordPress from now on.
It's available on the Pro plan and above, and only WordPress administrators can run it.
What comes across
| Shopify | WordPress |
|---|---|
| Article or page content | Post or page content |
| Featured image | Featured image, in the Media Library |
| Inline images | Media Library attachments, with the content pointing at the local copies |
| Files linked from the content (PDFs, documents) | Media Library attachments |
| Tags | Tags |
| Blog name | A category with the same name (optional) |
| Author | The WordPress user with the same display name, if there is one |
| Publish date | Publish date |
| Metafields | Custom fields (optional) |
| Translations | Linked translated posts in Polylang or WPML (optional) |
Each image or file is downloaded once. Importing again reuses the copy already in the Media Library. Wash never creates WordPress users: an author with no matching user gets the person running the import.
Running an import
- In WordPress, go to Settings > Wash Connector and open the Import from Shopify tab
- Under Import, choose Blog articles or Pages
- For articles, pick the Source blog
- Under Import as, choose the status the new posts get:
- Draft (review before publishing), the default
- Match Shopify status
- Published
- Tick the options you want (see below)
- Click Start import
A progress bar counts the items as they come in, and any item that fails is listed underneath with the reason. The import runs in small batches, so a large blog won't time out. Keep the tab open until it finishes.
If the site is connected to more than one store, the import runs for the store whose settings page you're on.
Options
| Option | Default | What it does |
|---|---|---|
| Import images (featured + inline) and file attachments | On | Copies images and linked files into the Media Library |
| Import metafields (as custom fields) | Off | Writes the article's metafields as custom fields |
| Assign a category named after the Shopify blog | On | Puts each imported post in a category with the blog's name. Articles only |
| Import translations (requires Polylang or WPML) | Off | Imports each Shopify translation as a linked translated post |
| Skip content already imported | Off | Leaves items imported earlier untouched instead of updating them |
After the import
Every imported post stays linked to its Shopify article or page.
- Importing again updates the same posts in place. Nothing is duplicated.
- Editing and saving an imported post in WordPress updates the same Shopify article. It doesn't need a blog-mapping rule, because Wash already knows where it lives.
- Nothing is pushed back during the import itself. Bringing content in never sends it straight back to Shopify.
Metafields
Metafields that Wash wrote in the first place (the wash namespaces) come back under their original custom field names. Metafields from any other namespace get the namespace added to the front, so custom.subtitle becomes the custom field custom_subtitle. This stops an imported metafield from overwriting a field another plugin owns. Fields whose names start with an underscore are skipped, and JSON metafields are stored as arrays.
Translations
With Import translations ticked and Polylang or WPML active, each language of a Shopify article (from Shopify's Translate & Adapt) becomes its own WordPress post, linked to the original as a translation. Without Polylang or WPML only the primary language is imported, and the tab tells you so.
Troubleshooting
The tab is locked
Import from Shopify needs the Pro plan or above. The tab shows an upgrade link on the Free plan.
"A batch for this import is still running"
The previous batch hasn't finished on the server yet. You don't need to do anything: the importer sets that batch aside and retries it at the end of the run. Re-processing is safe because items are updated in place.
Images still point at cdn.shopify.com
Check Import images (featured + inline) and file attachments was ticked, then import again. Already imported posts are updated in place.
The author is wrong
Wash matches authors by display name. Create a WordPress user with the same display name as the Shopify author, or set the author by hand, then import again.