Skip to content

Instantly share code, notes, and snippets.

@trey8611
Forked from KittenCodes/Import Types.md
Last active July 26, 2021 12:56
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save trey8611/607f09db8c470d2170cb358223de9384 to your computer and use it in GitHub Desktop.
Save trey8611/607f09db8c470d2170cb358223de9384 to your computer and use it in GitHub Desktop.
WP All Import - A description of different import types "New Items" and "Existing Items"

A description of import types

  • New Items Import -

This is primarily used to create and manage products. It keeps internal track of the products that it imports, which means that it can later update/create/delete products as they're changed/added/removed in your import file (see: http://www.wpallimport.com/documentation/recurring/update-import). It's also the only import type that can add/remove variations for variable products.

One limitation of new items imports is that cannot detect/update products that it didn't previously create. If you need to use a "New Items" import with a file that contains existing products, you can use WP All Import's API to prevent duplicates from being imported: https://www.wpallimport.com/documentation/developers/code-snippets/#do-not-create-products-with-duplicate-sku.

  • Existing Items Import -

This is primarily used to update specific data (e.g., stock/price) for products that already exist (created manually or by other imports). This import type does not keep internal track of the products it imports, so it cannot delete missing products from the file. It also can't maintain the relationship between parent products and their variations, so it can't be used to add variations to existing products.

If you're updating variations with this import type, you must match them by Post ID or a unique Custom Field value (Title/Content won't work). Also, you should make extra sure that these data points are not being updated in the import settings: https://d.pr/nwqacy.

Here is an explanation of what each kind of import can and can't do:

A "New Items" import can:

  • Create products.
  • Update products that it created itself.
  • Delete products (that it created itself previously) when they don't exist in the import file that is in use for the import.
  • Set out of stock status for missing products (that it created itself previously) via the "Set out of stock status for missing records" option at WooCommerce Add-On › Add-On Options.
  • Add new variations to existing WooCommerce Products (using this option: https://d.pr/i/DoJKHL).

A "New Items" import can't:

  • Update products that it did not create (whether they were manually created or created by another import).
  • Delete products that it did not create (whether they were manually created or created by another import).
  • Reference the Unique Identifier for another import.

An "Existing Items" import can:

  • Create new products (note: we do not recommend creating variable products with this import type as it's unreliable and can produce odd results. See the import type description above).
  • Update products that it did not create itself (since it does not reference an identifier of its own, but rather, matches records by Title, Content, Custom Field or Post ID).

An "Existing Items" import can't:

  • Delete products that don't exist in the import file.
  • Reference the Unique Identifier for another import (it is meant to match records by one of the four options mentioned above).
  • Add new variations to existing WooCommerce Variable Products.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment