WP All Import
How to use WP All Import
In order to use WP All Import, you must have a csv file that contains your products.
You will usually want to transfer the fields below:
- Featured image
- Category name (or categories with a parent/child relationship)
- Length, Width, Height
- Brand name
If your products have hierarchical (parent/child) categories, then in your category csv field, you should have this format:
Sports > Golf > Clubs > Putters
For attributes, the csv column cell should have this format (let’s say that we have a size attribute):
L | XL
How to use WP All Import with Google Spreadsheets
Step 1: Publish your spreadsheet to csv
To do so:
- Open your google spreadsheet
- From the menu, press File > Publish to the web
- At the pop-up, below link, select the table you want to add
- Right next to it (at the Web Page dropdown), select Comma Separated Values
- Press publish
- Copy the url
Step 2: Import to WP All Import
To do so:
- Go to All Import > New import.
- Press Download from URL, paste the CSV url from step 1.6 and press download
- Select Existing items and choose WooCommerce Products from the dropdown
- Press Continue to Step 2
- Add Filtering Options if you want (eg. price greater than zero).
- Press Continue to Step 3
- Drag from the right section the values you want to grab from the csv and drop them to the correct field on the left
- Save settings as a template
- Press Continue to Step 4
- Drag and drop the sku value to the _sku field
- Warning! On the Update existing posts with changed data in your file tick the Choose which data to update. Otherwise, it will erase the existing values.
- Click Configure Advanced Settings and in the Friendly name, give a name (eg. products).
Things to notice on step 7:
If you have a product with hierarhical categories, then at Taxonomies, Categories, Tags tab tick the Product categories, select the Products have hierarhical… option and tick the An element in my file contains the entire hierarchy (i.e. you have an element with a value = Sports > Golf > Clubs > Putters) checkbox and drag and drop the corresponding item to the categories field.
If you want to use content data, bear in mind that you cannnot keep the text formatting (eg. bold words).
Here is a list of the data you want to tick on step 11:
- Attributes – Update all attributes
- Custom Fields. Here you will find custom fields like length and width. Make sure you tick it in order to synchronize the dimensions.
- Taxonomies – Remove existing taxonomies, add new taxonomies
How to transfer your content from another site to WordPress
First, get a csv file that contains all the posts (or products) of your previous site (eg. OpenCart, Joomla, Drupal etc.). So find an appropriate plugin, install it and export the csv file.
Now, process the csv file, in order to be compatible with WP All Import.
One rule, is that each row should have a column that has unique values (eg. the SKU code of a product).
In OpenOffice, by using CTRL+F, you can use regular expressions in order to delete unwanted sections (eg. shortcodes). Make sure you click more options and tick Current selection only and Regular expressions. Here are some useful expressions.
|Search for||Replace with||Result|
|[:space:]+||@@||1st step to remove multiple spaces|
|@@||space||2nd step to remove multiple spaces|
|\.\B||space||Remove last dot|
In MySQL, you can fix possible errors, in the product’s content text with the replace function. For example, to fix possible image url errors, you can use:
update wp_posts set post_content = replace(post_content,'http://www.mywebsite.com/image/http://www.mywebsite.com','http://www.mywebsite.com');
In order to remove non-breaking spaces you can use:
update wp_posts set post_content = replace(post_content,' ', '<p></p>');
How to use WP All Import with WPML
If you have a multilingual store, then you probably have the WPML plugin installed. Download and install WPML All Import plugin. This is the bridge between WPML and WP All Import.
You can find more details about this plugin to the official documentation page.
Let’s say that you have eg. 2 languages, English (default) and Greek. Here are the steps:
- Create your 2 csv files. One csv per language.
- Go to All Import > New import.
- Press Upload a file and choose your english csv.
- Select WooCommerce Products and press Continue to step 2
- On step 3, on the WPML Add-on tab, make sure that you select the English (default) language. Also, on the Automatic Record Matching to Translate, select Import data in main language (English).
- Finish the steps, and let the plugin import your english products.
- Now for the other language, repeat steps 2 to 4.
- On step 3, on the WPML Add-on tab, make sure that you select the other language (Greek). Also, on the Automatic Record Matching to Translate, select Define parent import, select the english CSV and set the unique key (in my case it was the SKU column, common in both language.
- Finish the steps, and let the plugin import your greek product translations.
How to activate WP All Import for users with not administrator privileges (eg. for a shop manager)
- Download and activate Capability Manager Enhanced.
- Go to Users / Role capabilities.
- Select Shop manager and press load.
- Tick the manage options checkbox and press Save changes.
How to export the csv file using MySQL
Open your MySQL database using PHPMyAdmin and use something like that:
SELECT * FROM `products_table` WHERE `language_id` = 4 ORDER BY `product_id` ASC INTO OUTFILE 'C:/products.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'