Tovább a tartalomhoz

WooCommerce-rendelések migrálása

WooCommerce-rendelések átvitele egy másik webhelyre exportcsomaggal, a vásárló- és terméklinkelés hibáinak kezelésével.

A rendeléseket a forráswebhelyen exportálod (All Export → Új exportálás, típus: WooCommerce-rendelések), a csomagot pedig a célwebhelyen importálod (All Import → Új importálás). Mindkét webhelyen kell a WooCommerce export-, illetve import-bővítménye, a WP All Export és a WP All Import mellett.

Ha vásárlókat és termékeket is migrálsz, előbb azokat vidd át, utána a rendeléseket: WooCommerce-vásárlók migrálása, WooCommerce-termékek migrálása.

1. lépés: rendelésexport létrehozása

Szekció neve “1. lépés: rendelésexport létrehozása”
  1. A forráswebhelyen nyisd meg az All Export → Új exportálás oldalt.
  2. Válaszd a WooCommerce-rendelések típust. Az oldal kiírja az exportálható rendelések számát.
  3. Ha csak bizonyos rendeléseket akarsz átvinni, használd a Szűrési opciók hozzáadása részt.
  4. Kattints az A(z) Rendelések áttelepítése gombra a teljes migrációhoz, vagy az Exportfájl testreszabása gombra, ha magad választanád ki az oszlopokat.
https://minta-bolt.hu/wp-admin/admin.php?page=pmxe-admin-export
A WooCommerce-rendelések típus kiválasztva, az áttelepítés gombbal

Az oldal megmutatja, hány rendelést exportál.

2. lépés: az exportfájl beállítása (nem kötelező)

Szekció neve “2. lépés: az exportfájl beállítása (nem kötelező)”

Ha az Exportfájl testreszabása gombot választottad, a Húzás és ejtés felületen válaszd ki az oszlopokat. Legalább azokat az oszlopokat vedd be, amelyek a sikeres importhoz kellenek a célwebhelyen.

Utána az Exportálás beállításai oldalon az Ütemezési beállítások és a Speciális beállítások módosíthatók, de legtöbbször az alapértékek jók. Kattints a Megerősítés és exportálás futtatása gombra, majd a végén töltsd le a Csomagot. A csomag az összes exportált rendelést és az import beállításait is tartalmazza.

  1. A célwebhelyen nyisd meg az All Import → Új importálás oldalt, és töltsd fel a csomagot.
  2. Az Ugrás az importbeállításokhoz gombbal a csomag mindent magától leképez. Ha módosítanád a leképezést, kattints az Import beállítása gombra, majd a módosítás után a Folytatás gombra.
  3. A Beállítások importálása oldalon kikapcsolhatod a vásárlóknak szóló e-mail-értesítések alapértelmezett letiltását, beállíthatod az Ütemezési beállítások és a Haladó beállítások részt. Általában ezek változatlanul jók. Kattints a Folytatás gombra.
  4. A következő oldalon kattints a Megerősítés és import futtatása gombra. A végén az import befejezését jelző üzenetet látod.

Nyisd meg a célwebhelyen a WooCommerce → Rendelések oldalt. Ha nem látod az összes rendelést, nézd át a lépéseket. Ha csak néhány rendelés maradt ki, a lenti haladó részek megmondják, miért. Végső megoldásként törölheted az importot, és kezdhetsz elölről.

A rendelés kimarad, mert nincs egyező vásárló

Szekció neve “A rendelés kimarad, mert nincs egyező vásárló”

A csomag úgy van beállítva, hogy ha nincs egyező vásárló, a rendelés vendég vásárlóként importálódik, ezért általában nem kellene előfordulnia. Ha ezt a beállítást kikapcsolod, és nincs egyező vásárló, az előzménynaplóban ilyen sort látsz: „SKIPPED: Search customer by email … Existing customer not found for Order …”.

Megoldás: gondoskodj róla, hogy a rendelés vásárlójának legyen egyezése, vagy kapcsold be a vendégként importálás opciót (a hiányzó vásárló esetére), és töltsd ki a hozzá tartozó mezőket.

A rendelés kimarad, mert nincs egyező termék

Szekció neve “A rendelés kimarad, mert nincs egyező termék”

A rendelések a meglévő termékekhez cikkszám (SKU) alapján kapcsolódnak. Ezért a termékeknek léteznie kell a célwebhelyen, érvényes cikkszámmal. Ha nem mindegyik termék van ott, előbb migráld őket: WooCommerce-termékek migrálása.

Ha nem akarod a termékeket migrálni, a rendelés termékadatait kézzel is megadhatod. Ehhez kapcsold be azt az opciót, amely a rendelés termékadatainak kézi importálására szolgál, és ne a meglévő termékekhez való illesztésre, majd töltsd ki a mezőket.

Termékek összekapcsolása cikkszám nélkül

Szekció neve “Termékek összekapcsolása cikkszám nélkül”

Ha a termékeidnek nincs cikkszáma, ideiglenesen létrehozhatsz egyet. Három lépésben:

  1. A termékek importjakor vedd fel az _old_id egyéni mezőt a termék régi azonosítójával. Ebből készül az ideiglenes cikkszám.
  2. A rendelések importjakor a termék cikkszáma mezőbe írj egy egyéni PHP-függvényhívást (például [rendeles_termek_kapcsolat({productid[1]})]), amely az _old_id alapján megkeresi a terméket, véletlenszerű cikkszámot rendel hozzá, és visszaadja azt:
function rendeles_termek_kapcsolat( $termek_azonosito ) {
global $wpdb;
$post_id = $wpdb->get_var( $wpdb->prepare(
"SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key = '_old_id' AND meta_value = %s",
$termek_azonosito
) );
if ( $post_id && $termek = wc_get_product( $post_id ) ) {
$ideiglenes_sku = md5( $post_id );
$termek->set_sku( $ideiglenes_sku );
$termek->save();
return $ideiglenes_sku;
}
}
  1. Takarítás: az ideiglenes cikkszámokat egy második kóddal töröld a termékekről az import után:
function ideiglenes_sku_torlese( $post_id, $xml_node, $is_update ) {
global $wpdb;
$termek_post_id = $wpdb->get_var( $wpdb->prepare(
"SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key = '_old_id' AND meta_value = %s",
(string) $xml_node->productid
) );
if ( $termek_post_id && $termek = wc_get_product( $termek_post_id ) ) {
if ( $termek->get_sku() === md5( $termek_post_id ) ) {
$termek->set_sku( '' );
$termek->save();
}
}
}
add_action( 'pmxi_saved_post', 'ideiglenes_sku_torlese', 10, 3 );

Mindkét kódot illeszd be az All Import → Beállítások oldal Függvényszerkesztőjébe, vagy egy kódrészletkezelő bővítménybe. Hogy az import biztosan működjön, az iterációnként feldolgozott rekordok számát állítsd 1-re az import Haladó beállítások részében.

Átmennek a más bővítmények egyéni mezői is?

Szekció neve “Átmennek a más bővítmények egyéni mezői is?”

Igen, a legtöbb bővítmény egyéni mezőit a bővítmény felismeri. Ha egy bővítmény szokatlan módon tárolja az adatait, fordulj a bővítmény támogatásához.

Hogyan migráljam a vásárlókat és a rendeléseket?

Szekció neve “Hogyan migráljam a vásárlókat és a rendeléseket?”

Előbb a vásárlókat, utána a rendeléseket. Ha termékeket is viszel, a sorrend: vásárlók, termékek, rendelések.

Hogyan tarthatom szinkronban a rendeléseket két webhely között?

Szekció neve “Hogyan tarthatom szinkronban a rendeléseket két webhely között?”
  1. Készíts exportcsomagot a kívánt rendelésekkel.
  2. A célwebhelyen importáld a csomagot.
  3. Állítsd be az exportot és az importot is automatikus futásra az ütemezéssel.
  4. Éles használat előtt próbáld ki.

Ha vásárlókat és termékeket is szinkronban akarsz tartani, azokra is ismételd meg a folyamatot, a rendelések előtt.

Miben más ez, mint a többi migrációs bővítmény?

Szekció neve “Miben más ez, mint a többi migrációs bővítmény?”

A legtöbb másik megoldás az adatbázist másolja, és felülírja a célwebhely adatait. Itt csak azt írod felül, amit akarsz, és az adatokat közben módosíthatod is.

  1. Nyisd meg az All Export → Új exportálás oldalt.
  2. Válaszd a WooCommerce-rendelések típust.
  3. A húzd és ejtsd felületen állítsd be az oszlopokat.
  4. Futtasd az exportot, és töltsd le a fájlt.
  1. Nyisd meg az All Import → Új importálás oldalt.
  2. Válaszd ki a fájl forrását, a fájlt és a WooCommerce-rendelések típust.
  3. Rendeld a fájl elemeit a rendelésmezőkhöz.
  4. Futtasd az importot. Részletek: WooCommerce-rendelések importálása.

Milyen bővítmények kellenek a rendelések migrálásához?

Szekció neve “Milyen bővítmények kellenek a rendelések migrálásához?”

A WooCommerce-exportbővítmény és a WooCommerce Add-On, a WP All Export és a WP All Import mellett.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások