# Kurzusok átvitele másik oldalra

> Kurzustartalom és teljes LearnDash-adatállomány áthelyezése másik webhelyre: exportálás, importálás, a felhasználói haladás adatbázis-szintű szempontjai, és egyetlen kurzus exportálásának lehetőségei.

A LearnDash-kurzusokat kétféleképpen viheted át egy másik webhelyre. A választás attól függ, hogy csak a tartalmat akarod áthelyezni, vagy a felhasználók haladását és adatait is.

## Átvitel felhasználói adatok nélkül

Ha csak a kurzus tartalmát viszed át, használd a WordPress **Eszközök** menüjének exportáló és importáló funkcióját. Ez minden egyéni tartalomtípusra működik, a kvízek kivételével.

Fontos tudnivaló: ez a módszer nem őrzi meg a kurzusok és a leckék közti kapcsolatot. Az importálás után a leckéket újra hozzá kell rendelned a megfelelő kurzushoz. Ez a Tanfolyam-építővel gyorsan megoldható (lásd: [A Tanfolyam-építő megnyitása](https://hub.hellowp.io/hu/plugins/sfwd-lms/kurzusepito/)).

A kvízeket külön viszed át:

1. Nyisd meg: **LearnDash LMS → Kvízek**.
2. Kattints a fejlécben a **Műveletek** menüre.
3. Válaszd az **Import/Export** pontot.
4. Jelöld ki az áthelyezendő kvízeket.

Az importálás az új webhelyen ugyanígy megy. A részleteket a [Kvízek importálása és exportálása](https://hub.hellowp.io/hu/plugins/sfwd-lms/kvizek-import-export/) fejezet tartalmazza.

## Átvitel felhasználói adatokkal

Ha a kurzussal együtt a felhasználók haladását és adatait is át akarod vinni, a folyamat bonyolultabb, ezért fejlesztővel érdemes végeztetni. Mindig próbáld ki előbb egy fejlesztői (teszt) webhelyen, és csak utána az éles oldalon.

### A beépített importálás és exportálás

A LearnDash beépített eszközével a teljes LearnDash-webhelyet (tartalmat, adatokat, konfigurációt és beállításokat) átviheted egy másik, akár új webhelyre. Ez az ajánlott módszer.

Az eszköz helye: **LearnDash LMS → Beállítások → Haladó → Importálás / exportálás**.

![Az Importálás / exportálás oldal](./kepek/beallitasok-funkciok-import-export.webp)

*Az Importálás / exportálás oldal* (https://minta-bolt.hu/wp-admin/admin.php?page=learndash_lms_advanced&section-advanced=settings_import_export)

Az oldal bal oldalán exportálsz, jobb oldalán importálsz.

#### Exportálás

1. A **Mit szeretnél exportálni?** alatt válaszd a **Minden** lehetőséget, ha az oldal összes LearnDash-adatát és beállítását át akarod vinni.
2. Ha válogatnál, válaszd a **Szeretnék választani** opciót. Megjelenik a típusok listája.
3. Típusonként külön jelölheted a **Bejegyzések** és a **Beállítások** négyzetet, azaz a tartalmat, a beállításokat vagy mindkettőt.
4. Kattints az **Exportálás** gombra.
5. A gomb elszürkül, az exportálás folyamatban van. Várd meg, amíg befejeződik.
6. Az oldal tetején megjelenik a letöltési hivatkozás. A letöltés egy .zip fájl, amely a kijelölt adatokat tartalmazza.

![Az exportálható tartalomtípusok listája](./kepek/fejlesztoknek-export-valasztas.webp)

*Az exportálható tartalomtípusok listája* (https://minta-bolt.hu/wp-admin/admin.php?page=learndash_lms_advanced&section-advanced=settings_import_export)

A képen látszik, mely típusokat jelölheted ki: tanfolyam, lecke, téma, kvíz, kérdés, rendelés, csoport, feladat, esszé, tanúsítvány, felmentő vizsga, kupon, virtuális oktató, felhasználó (**Profilok** és **Előrehaladás**), valamint az **Egyéb** alatt a **Globális beállítások**.

#### Importálás

1. Nyisd meg ugyanezt az oldalt a célwebhelyen.
2. A **Mit szeretnél importálni?** alatt válaszd ki a korábban letöltött .zip fájlt.
3. Kattints az **Importálás** gombra.
4. Üzenet jelzi, hogy az importálás várólistára került. Frissítsd az oldalt az állapot megtekintéséhez.
5. Amikor az importálás lezajlott, a sikerről szóló üzenet jelenik meg.

Ezután minden, amit exportáltál, az új webhelyen van. A kurzusok, leckék, témák, kvízek és csoportok kapcsolatai megmaradnak, a beállítások pedig érvényesülnek, ha azokat is exportáltad.

### Egyetlen kurzus exportálása

A LearnDash exportáló eszköze nem tud egyetlen kurzust külön kiexportálni. Kurzusokat, leckéket, témákat és kvízeket csak együtt visz át. Két kerülőút van:

- **Kézi újralétrehozás.** Ha a kurzus nem nagy, építsd újra a célwebhelyen.
- **Adatbázis-exportálás.** Technikai megoldás: a webhely adatbázisából kiexportálod a kurzushoz tartozó táblák adatait. Ehhez adatbázis-kezelési ismeret kell, és óvatosan kell csinálni.

### Adatbázis-szempontok

A LearnDash a felhasználók kurzushaladását a felhasználói metaadatokban tárolja. Ha kézzel viszed át az adatokat, a haladásban szereplő azonosítóknak egyezniük kell a kurzus, a lecke, a téma és a kvíz bejegyzésazonosítójával.

A `wp_usermeta` táblában felhasználónként kulcs-érték párok vannak. A kurzushaladás kulcsa a `_sfwd-course_progress`, az értéke szerializált tömb. A tömb:

- legfelső szintű kulcsa a kurzus azonosítója, amelynek egyeznie kell a kurzus bejegyzésazonosítójával;
- a `lessons` alszekciója a leckék azonosítóit tartalmazza, az érték 1, ha a felhasználó teljesítette a leckét;
- a `topics` alszekciója első szinten a leckék azonosítóit tartalmazza (ezeknek egyezniük kell a `lessons` alatti azonosítókkal), alattuk pedig a témák azonosítói állnak, 1-es értékkel, ha a téma teljesült;
- a `completed` és a `total` kulcs a teljesített és az összes lépés számát adja.

A kvízek haladását a `_sfwd-quizzes` kulcs tárolja, ennek a tömbje egészen más szerkezetű.

Átvitelnél érdemes számba venni a felhasználó metaadatainak további kulcsait is. Kevésbé fontosak, mint a kurzus- és a kvízhaladás, de hozzátartoznak a felhasználó állapotához:

| Kulcs | Mit jelöl |
|---|---|
| `learndash_group_users_XXX` | A felhasználó csoporthoz tartozását. Az XXX a csoport azonosítója, és egyezik az értékkel. Egy felhasználó több csoportban is lehet. |
| `learndash_course_expired_XXX` | Azt, hogy mikor járt le a felhasználó hozzáférése egy kurzushoz. |
| `course_completed_XXX` | A kurzushaladás másodlagos nyilvántartása: mikor fejezte be a felhasználó a kurzust. |
