Woocommerce - import products from csv file - php

I need to import more than 100 products from an CSV file but some of the products already exists in the webshop. I will be using the core importer tool that comes with Woocommerce.
When importing the file I need to update each already existing product by matching the Name of the product. (I know there is an option for matching the SKU or ID but I need to update the product if the name already exists)
Thanks in advance!

This is a pretty common scenario. Of course, the core wp imported plugin will work with this. But it will create new entries regardless of which once you already have. You might have imported content before and noticed that there are duplicate posts, this is something I think you can't avoid with the default importer.
Now to help you with this, there are other solutions. WP import all is one of my favourites. The reason, it lets you map the entries from your CSV to WP. You decide entries from which column go to which field.
Here is a free version of the plugin: https://wordpress.org/plugins/woocommerce-xml-csv-product-import/
This does not work with WooCommerce though, you will need a premium plugin for this: http://www.wpallimport.com/woocommerce-product-import/
Another product I can think of is the one built by the WooCommerce folks itself:
https://docs.woocommerce.com/documentation/plugins/woocommerce/woocommerce-extensions/product-csv-import-suite/
I have not used this myself, but have heard good words about it.
PS: If the data from the previous posts is also there on the CSV, you can delete the previous posts and import them from the CSV, that way you won't have to worry about the duplicated, or the check the names. You can try this on a local install. and then export them with all the updated data, and import it again to the production site.
I hope you find this helpful.

Related

wordpress wp all import issue

I'm using WP all import to import many products with 3 languages(separately exported by category using WP all export).
I exported CSV file products to edit and make changes prices and meta tags of images.
I changed what I wanted and tried to import by export template.. but unfortunately, missed images, prices without changes and attributes disappeared on product card.
I tried by option update existing products and with all options of the plugin 5-6 times..
importing without error but there is no changes..
no images
no updated price value
disappeared attributes
if anyone know any solutions or recommendations how to fix this problem.. please share. thank you for all
url website: https://m-lux.lv/en/metala-durvis-dzivokliem/
https://prnt.sc/10c81z1
https://prnt.sc/10c82jd
When you import products in multiple languages, you need to use a special "unique identifier" field to link the translations. It cannot be the same as any other field, like SKU.
From doc:
When you import the files later, WP All Import will need a way to
match the default language posts to their corresponding translations
in the other files.
To do this, you need to specify a unique identifier for each post.
Assign an ID number to one of your posts in your default language.
Then, use that same ID number for the same post in your secondary
language files. By looking at this ID, you can tell which post is the
translation of another by finding the same ID number in your files.
https://wpml.org/documentation/related-projects/wpml-all-import-plugin-website-import-with-wpml/
I also recommend to make 2 separate imports: one for simple products only, the other - for variable products.
Test each import on just 1 product first to see if it's working (it's quicker).

Wordpress bulk products upload (woocommerce) - 650K

I'm using WordPress + Woocommerce for one project. The problem is that the CSV file from the client has over 650k records for products and I have to upload all these products to woocommerce store.
Wordpress using 2 tables (wp_posts, wp_postmeta) for products and 3 tables(wp_terms, wp_term_taxonomy, wp_term_relationships) for categories and tags. All products should be uploaded as just simple woocommerce products.
Not sure what could be the best option for such data migration.
I tried to use a WordPress import plugin for this (WP All Import) but it was taking too much time.
By using this script (largeCSV2mySQL) I was able to import 650k products info to the database table in less than 10s. Is there anyway to import all those 650k products to woocommerce store in such a fast way?
What could be the best experience to handle such huge data?
I highly recommend using the Woocommerce REST API to perform the population of the data. You'll definitely need to write code to process your file by utilizing the CRUD actions available to you. The REST API handles most of the heavy lifting, all you need to do is read the data from your file and fit it to the API.
If you do have a large number of products to import, and it's all in a single file, try composing your importer to only process a range of lines (can do with with command line parameters). That would allow you to run the import in multiple terminals and split the load, rather than having to write something that's multithreaded using pthreads.
I recommend creating a function that retrieves the data from the file and sends it to WordPress/Woocommerce with wp_insert_post and the post_type 'product'.

Imported products not visible in OpenCart admin panel?

Benn struggling with this issue for some time now. I have used a mod for importing a CSV file with my products to my OpenCart installation. The mod is called CSV import Pro
Then products are visible on the front end an I can see them in the db table as well. Only problem I have is that they are not visible in my admin panel which is pretty strange.
Has anybody encountered this problem before? The company that I purchased the mod from are not the quickest when coming to supporting the mod.
All ideas, tips and resources are welcome.
I have been struggling with this issue for a long time. Using Import/Export Tool with multiple languages. Basically I was importing just one of the languages, it worked fine on the front end and I was able to see all products but I could only see two products at the back-end. My back-end language was English and my Front End - Bulgarian. It picked up the Bulgarian but unless your back-end is also set to the same language you will experience problems. Other option is just populate other language columns as well.
I had the same issue, after looking for some hours I found the "guilty" table ,
it's the
produt_to_store
table
set your product_id to the default store id (0) and voila !
INSERT INTO `product_to_store` (`product_id`, `store_id`) VALUES ('58366', '0');
I saw something similar to this a while back and it turned out that the start date and end date values were missing for the products for their availability. Obviously I can't guarantee that this is the issue, but I would recommend you check that each and every value is being set for the products. I've not used CSV import Pro personally but I believe it's pretty popular and is likely due to missing data that it's not showing properly
I was using another mod to extract and import from a Zencart database to Opencart. All customers were imported but did not show up in Admin, although viewable in the db table. Turned out that the customer_group_id was 8 (presumably in Zencart) and the necessary id number in Opencart is 1. Updated the customer_group_id column to show 1 instead of 8 and all the records became visible in Admin. I found this out by creating new customers records and then comparing them to imported ones to see any differences.

Magento multisite - bulk enable and set visibility differently per site

We have a multi-store magento setup, and we have several stores under the main site. We need to both enable and set search visibility for several hundred products, but we don't want those products to just show in every store, in fact, we only want them to show in one store. I have tried updating the Magento database, only to find out that not every store has a set of attributes to update, which would require some fancy SQL to perform. I have also tried creating an Excel XML import, which did not work. The import file looks like this (I tried it 2 ways):
sku visibility status _store
112001 4 1 otherstore
11924-01 4 1 otherstore
sku visibility status _store
112001 4 1 otherstore
112001 1 2 admin
11924-01 4 1 otherstore
11924-01 1 2 admin
Both ways appeared to just reset the status completely, as in nothing in the status field. I am a little wary of doing this via PHP since I am not well versed in Magento and have heard un-great things about mucking about in the core files, but at this point if it will work I'll do anything. I can't help but think that someone has done this before, via plugin on SQL or PHP, so any help here is appreciated.
Backup your database. Do a product export of the products this applies to. Edit the csv file to show the correct store for all of those products. In magento delete all of the products this applies to. Now import the csv that you previously exported and edited.
I found, and sucessfully used, Magmi. Was incredibly fast, and seemed to do the job well. The documentation isn't great, but it's usable.

Custom options not showing Up in front-end Magento Community Edition

I wrote a script for importing products in Magento community edition 1.5.10 from CSV file. The products are displaying fine in both front end and backend
The problem is the Product custom options(size and Color). It is not displaying in the front end. But it is displaying properly in admin.
When I edit the same product in adminpanel and saving without modifying anything, then its showing up fine in front end.
Please help me to figure out this problem
Thanks in advance
Selva.
I too had the same problem with the custom option. Then i found out the solution after a long search in the database. You just forget to insert the values in "catalog_product_entity_varchar" table.
For custom option we need to insert 4 records in the "catalog_product_entity_varchar" table.
After inserting the table it works well.. Hope it will helps you..
Thanks
Rajamani.
This almost always means that you've forgotten to add data to a necessary table, very likely an indexing table. Magento often clones the same data over to several tables to use for fast lookups.
Does your script import using objects, or does it write direct SQL queries to enter the data? Try reindexing everything on the site first, hopefully that will fix it. If not, you'll need to spelunk in the DB to find the table that you are failing to enter data for.
Hope that helps!
Thanks,
Joe
Try to refresh the Magento caches and re-indexing.
I Hope custom option will display
For me it was fixed by setting the has_options attribute to 1 - from catalog_product_entity table. Also make sure that the options_container attribute have the value 'container2' for products with custom options - this attribute is found in catalog_product_entity_varchar.

Categories