Wbudowany import WooCommerce działa - dopóki plik jest prosty. Przy wariantach, polach ACF i zdjęciach spoza biblioteki mediów zaczyna gubić dane po cichu: import kończy się komunikatem o sukcesie, a połowy rzeczy nie ma. Wariant powstaje, ale sklep go nie pokazuje, bo produkt nadrzędny nie dostał atrybutu.
Ta wtyczka jest zrobiona pod plik z hurtowni: ustawiasz mapowanie raz, zapisujesz je jako profil i od tej pory import to jedno kliknięcie albo harmonogram. A zanim cokolwiek trafi do sklepu, próba na sucho pokazuje dokładnie, co się stanie.
Co dokładnie robi
- Czyta CSV z dowolnym separatorem i XML - z wgranego pliku, z adresu URL albo z pliku na serwerze. Kodowanie (UTF-8, Windows-1250, ISO-8859-2) wykrywa sama i pokazuje efekt na pierwszych pięciu wierszach.
- Mapuje kolumny na pola produktu: wszystkie podstawowe pola WooCommerce, kategorie z hierarchią, tagi, atrybuty, warianty, pola ACF i własne pola meta. Typowe nagłówki („kod”, „cena”, „stan”, „zdjecia”) rozpoznaje bez klikania.
- Przelicza ceny: przelicznik ×1,23 zamienia cenę netto z hurtowni na brutto, ×1,5 dolicza marżę.
- Importuje warianty tak, żeby działały: uzupełnia atrybuty produktu nadrzędnego, zamienia go w produkt z wariantami i przelicza cenę „od”. Warianty mogą stać w pliku przed swoim rodzicem.
- Pobiera zdjęcia z adresów URL do biblioteki mediów - w osobnej kolejce, po kilka naraz, bez duplikatów przy kolejnych importach.
- Przed importem robi próbę na sucho: ile produktów przybędzie, ile się zaktualizuje, które wiersze mają błędy i jakie. Log każdego przebiegu pobierzesz jako CSV.
- Chroni Twoją pracę: każde pole ma opcję „nie nadpisuj, jeśli wypełnione”, a pusta komórka w pliku domyślnie niczego nie czyści.
- Eksportuje do CSV i XML z filtrami i wyborem kolumn. Plik z eksportu mapuje się przy imporcie sam - eksport, poprawki w arkuszu, import po ID.
- Uruchamia profile z harmonogramu: co godzinę, raz dziennie albo raz w tygodniu, z mailem podsumowującym. Gdy hurtownia zmieni układ pliku, import się nie wykona i dostaniesz o tym wiadomość - zamiast po cichu zaimportować bzdury.
Czego nie robi
W wersji 1.0 nie wystawia eksportu pod stałym adresem (feed dla porównywarek) - to wersja 1.1. Nie importuje plików do pobrania ani repeaterów i galerii ACF. Nie zakłada globalnych atrybutów WooCommerce: jeśli atrybut o danej nazwie już istnieje jako globalny, użyje go, w przeciwnym razie utworzy atrybut własny produktu.
Kiedy jej nie potrzebujesz
Jeśli importujesz raz, prosty plik, bez wariantów i zdjęć - wbudowany importer WooCommerce wystarczy i jest za darmo. Ta wtyczka zwraca się przy imporcie, który się powtarza: cennik z hurtowni, stany magazynowe, sezonowa wymiana katalogu.
Wbudowany import WooCommerce działa, dopóki nie masz wariantów, pól ACF ani obrazków spoza biblioteki mediów. Wtedy gubi dane po cichu - import kończy się komunikatem o sukcesie, a połowy rzeczy nie ma.
Jeśli bierzesz towar z hurtowni, dochodzi drugi problem: plik trzeba wgrywać ręcznie, codziennie. Tutaj ustawiasz mapowanie raz, zapisujesz je jako profil i wskazujesz adres pliku. Resztę robi harmonogram - a próba na sucho przed importem pokazuje, co dokładnie się zmieni.
Kreator mapowania
Widzisz kolumny z pliku obok pól produktu, z przykładową wartością i pierwszymi pięcioma wierszami. Typowe nagłówki mapują się same, a cenę netto przeliczysz na brutto jednym polem.
Profile źródeł
Mapowanie hurtowni zapisujesz raz. Kolejny import to jedno kliknięcie, a lista pokazuje, kiedy profil chodził ostatnio i z jakim wynikiem.
Podgląd przed zapisem
Próba na sucho przechodzi cały plik i niczego nie zapisuje. Dostajesz liczby - ile nowych, ile aktualizacji - i listę błędnych wierszy z powodem.
Obrazki z adresów URL
Pobierane do biblioteki mediów w osobnej kolejce, bez duplikatów przy kolejnych importach. Adres, który nie jest obrazkiem, ląduje w logu zamiast w sklepie.
Harmonogram
Import co godzinę, raz dziennie albo raz w tygodniu, z mailem podsumowującym. Gdy źródło zmieni układ pliku, import się zatrzyma i da znać.
Testowane z
-
v1.0.0 Nowość
Pierwsze wydanie: import CSV i XML z mapowaniem, wariantami, polami ACF i obrazkami z URL, próba na sucho, eksport, profile z harmonogramem.
Jak duży plik uniesie?
Plik jest czytany strumieniowo i importowany porcjami, więc jego rozmiar nie wpływa na pamięć ani limit czasu PHP. Jedyne ograniczenie to limit wgrywania na hostingu - a ten omijasz, wskazując plik adresem URL albo ścieżką na serwerze.
Czy import nadpisze moje ręczne opisy?
Tylko jeśli tak ustawisz. Każde pole ma opcję „nie nadpisuj, jeśli już wypełnione”, a pusta komórka w pliku domyślnie niczego nie czyści.
Pliki z hurtowni są w Windows-1250.
Kodowanie jest wykrywane i konwertowane, a podgląd pięciu pierwszych wierszy pokazuje efekt przed importem. W razie pomyłki wybierasz kodowanie ręcznie - bez ponownego wgrywania pliku.
Czy harmonogram wymaga czegoś na serwerze?
Domyślnie korzysta z WP-Cron. Na sklepie z małym ruchem warto ustawić crona systemowego - gotowe polecenie jest w panelu, a wtyczka ostrzega, gdy zaplanowany import się spóźnia.
Co, jeśli import przerwie się w połowie?
Nic się nie dubluje. Produkty są dopasowywane po kluczu (SKU, ID albo własnym polu), więc ponowne uruchomienie tego samego pliku zaktualizuje to, co już weszło, i doda resztę.


