# Átállás az ACF-ről és a CPT UI-ról a JetEngine-re

> Egyedi bejegyzéstípusok, taxonómiák és ACF-mezők átvitele a JetEngine-be az adatok elvesztése nélkül.

Ha az oldalad metamezőit az Advanced Custom Fields (ACF), az egyedi bejegyzéstípusait pedig a Custom Post Type UI (CPT UI) kezeli, az átállás a JetEngine-re nem jár adatvesztéssel. A módszer azon alapul, hogy a WordPress az egyedi bejegyzéstípusokat, taxonómiákat és metaadatokat akkor is megtartja az adatbázisban, ha az őket regisztráló bővítményt eltávolítod. Ha a JetEngine-ben ugyanazt a slugot és ugyanazt a metakulcsot használod, a meglévő tartalom magától felismerhető.

Nincs hivatalos, egykattintásos automatikus átvitel, ez egy a gyakorlatban bevált eljárás. Mielőtt belekezdesz, készíts teljes mentést a weboldalról és az adatbázisról, mert hiba esetén csak a mentésből tudod visszaállítani az oldalt.

Előfeltétel: az ACF és/vagy a CPT UI be van állítva, a JetEngine pedig telepítve és aktív.

## Egyedi bejegyzéstípus átvitele

1. Nyisd meg a **JetEngine → Bejegyzéstípusok** oldalt, és kattints az új típus hozzáadására.
2. A **Bejegyzéstípus slug** mezőbe pontosan azt a slugot írd, amelyet a CPT UI-ban használtál.
3. Töltsd ki a **Bejegyzéstípus neve** mezőt, és mentsd a típust a **Bejegyzéstípus hozzáadása** gombbal.

![A JetEngine új bejegyzéstípus űrlapja](./kepek/elso-lepesek-atallas-bejegyzestipus.webp)

*A JetEngine új bejegyzéstípus űrlapja* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-cpt&cpt_action=add)

Amint a slug egyezik, a JetEngine felismeri a meglévő bejegyzéseket, és azok átkerülnek az új típushoz.

### Ha a slug megváltozik

Ha a bejegyzéseket másik slugú JetEngine-típusba akarod áttenni:

1. Telepítsd és aktiváld a Post Type Switcher bővítményt.
2. Menj a CPT UI-os bejegyzéstípus listájára, és minden bejegyzésnél, a cím fölé víve az egeret, kattints a **Gyorsszerkesztés** hivatkozásra. Válaszd ki a megfelelő JetEngine-bejegyzéstípust.
3. Töröld a régi, CPT UI-os bejegyzéstípust.
4. A **JetEngine → Bejegyzéstípusok** oldalon nyisd meg a kívánt típust szerkesztésre, és nyisd ki az **Advanced Settings** szakaszt. Kapcsold be a **Rewrite** kapcsolót, és a **Rewrite Slug** mezőbe írd be a CPT UI-ban használt eredeti slugot.

## ACF-metamezők átvitele

Az ACF-mezőket kézzel kell újra létrehozni a JetEngine-ben.

1. Nyisd meg a **JetEngine → Metaboxok** oldalt, és add hozzá az új metaboxot.
2. Írd be a **Meta doboz címe** mezőbe a metabox nevét, és a **Meta doboz célja** listában válaszd ki a forrást (jelen esetben „Bejegyzés”).
3. Ha kell, állítsd be a **Láthatósági feltételek** szakaszt. A **Bekapcsolás bejegyzéstípusoknál** mezőben megadhatod, melyik bejegyzéstípusnál jelenjen meg a metabox.
4. A **Metamezők** szakaszban az **Új metamező** gombbal vedd fel a szükséges mezőket.

![A JetEngine új metabox űrlapja](./kepek/elso-lepesek-atallas-metabox.webp)

*A JetEngine új metabox űrlapja* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-meta&cpt_meta_action=add)

A kulcs: a JetEngine-mező **Name/ID** értékének pontosan egyeznie kell az ACF-mező **Field Name** (mezőnév) értékével. Ha a kulcsok egyeznek, a meglévő bejegyzések adatai betöltődnek, és semmit nem kell újra beírni. Miután ellenőrizted, hogy az adatok jól látszanak, az ehhez a bejegyzéstípushoz tartozó ACF-mezőket és mezőcsoportokat törölheted.

## Taxonómiák átvitele

1. Nyisd meg a **JetEngine → Taxonómiák** oldalt, és hozz létre új egyedi taxonómiát.
2. A **Taxonómia slug** mezőbe a CPT UI-os taxonómia slugját írd.
3. A **Bejegyzés típusa** mezőben válaszd ki a hozzá tartozó bejegyzéstípusokat.
4. Ne vegyél fel kifejezéseket kézzel, a taxonómia maradjon üres.

![A JetEngine új taxonómia űrlapja](./kepek/elso-lepesek-atallas-taxonomia.webp)

*A JetEngine új taxonómia űrlapja* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-cpt-tax&cpt_tax_action=add)

Az eredeti taxonómia kifejezései a bejegyzés-hozzárendelésekkel együtt automatikusan átkerülnek az új taxonómiához. Ezután az eredeti taxonómiát törölheted a CPT UI-ból.

## A régi bővítmények eltávolítása

Mielőtt a CPT UI-t és az ACF-et kikapcsolod és törlöd, ellenőrizd, hogy:

- a bejegyzések helyesen jelennek meg a JetEngine típusaiban;
- a metamezők adatai az elülső és a hátsó oldalon is helyesen látszanak;
- a taxonómia kifejezései és a hozzárendelések sértetlenek.

Nem kell mindent egyszerre átvinni: a bejegyzéstípusok, a metamezők és a taxonómiák egymástól függetlenül is átvihetők, attól függően, hogy az oldalon melyik bővítmény mit kezelt.

## Korlátozás: ismétlő mezők

Az ACF és a JetEngine alapjaiban más formátumban tárolja az ismétlő (repeater) mezők adatait:

| | ACF | JetEngine |
|---|---|---|
| Sorok száma | Külön metamezőben tárolódik | Nem tárolódik külön |
| Sorok értékei | Soronként sorszámmal tárolva | Egyetlen összefűzött tömbben |
| Mezőkulcs formátuma | `ismetlo_neve_0_almezo` | `ismetlo_neve` és az almező |

Az ismétlő mezőkre jelenleg nincs közvetlen átviteli út. Az adatokat az átállás után kézzel kell újra felvenni, vagy közösségi megoldást kell keresni.

## Gyakori kérdések

**Megmaradnak a bejegyzéseim a CPT UI-ról a JetEngine-re váltáskor?** Igen, ha a JetEngine-típust a CPT UI-os típussal azonos slugon hozod létre, a WordPress felismeri a meglévő bejegyzéseket.

**Törölhetem rögtön az ACF-et és a CPT UI-t?** Nem. Előbb ellenőrizd, hogy a bejegyzések, metamezők és taxonómiák jól működnek a JetEngine-ben.

**Vihetem csak az ACF-mezőket, vagy csak a CPT UI-os típusokat?** Igen, külön is átvihetők.

**Miért működik a slug szerinti egyeztetés?** A WordPress az egyedi bejegyzéstípusokat, taxonómiákat és metaadatokat az eredeti bővítmény eltávolítása után is az adatbázisban tartja, ezért a JetEngine ugyanazon slugok és metakulcsok mellett felismeri a meglévő tartalmat.

## Példa: ACF-mezők átvitele a JetEngine-be

Az alábbi példában egy „Ingatlanok” bejegyzéstípushoz tartozó ACF-mezőcsoportot viszünk át, amely „Szöveg”, „Jelölőnégyzet” és „Kép” mezőt tartalmaz. Más mezőtípusok átviteléhez egyedi kód is kellhet.

### Az ACF-mezők ellenőrzése

Nyisd meg az **ACF → Field Groups** oldalt, és nyisd meg az átvinni kívánt mezőcsoportot. A **Location Rules** fülön látod, melyik bejegyzéstípushoz tartozik a csoport, ugyanehhez a típushoz kell majd a JetEngine-metaboxot hozzáadni.

- **Szöveg mező:** jegyezd fel a **Field Name** értékét (például a „Property Style” címkéjű mező mezőnevét).
- **Jelölőnégyzet mező:** a **Field Name** (például `amenities`) mellett jegyezd fel a **Choices** (lehetőségek) tartalmát is, például: „Ingyenes Wi-Fi”, „Medence”, „Parkoló”, „Kerti étkező”. A **Return Value** értéke „Value” legyen.
- **Kép mező:** a **Field Name** (például `property_image`) mellett nézd meg a **Return Format** beállítást, amelynek „Image URL” értéket kell mutatnia. A **Library** beállítás tetszőleges.

### A JetEngine-metabox létrehozása

1. Nyisd meg a **JetEngine → Metaboxok** oldalt, és add hozzá az új metaboxot.
2. Írd be a **Meta doboz címe** mezőbe a metabox nevét, és a **Meta doboz célja** listában válaszd a „Bejegyzés” értéket.
3. A **Láthatósági feltételek** szakasz **Bekapcsolás bejegyzéstípusoknál** mezőjében add meg a megfelelő bejegyzéstípust (itt „Ingatlanok”).
4. A **Metamezők** szakaszban kattints az **Új metamező** gombra.
5. Szöveg mező: add meg a címkét, a **Name/ID** mezőbe másold be az ACF szövegmezőjének **Field Name** értékét, a mező típusa legyen „Text”.
6. Jelölőnégyzet mező: új metamező, a **Name/ID** egyezzen az ACF **Field Name** értékével, a típusa „Checkbox”. A forrás legyen „Bulk Manual Input”, így az összes lehetőséget egyben, soronként beírhatod az ACF-ben szereplő formában. Kapcsold be a **Save as array** kapcsolót.
7. Kép mező: új metamező, a **Name/ID** egyezzen az ACF **Field Name** értékével, a típusa „Media”. A **Value format** értéke legyen „Media ID”.
8. A mentéshez kattints a **Metabox hozzáadása** gombra.

### Ellenőrzés és takarítás

Nyisd meg az érintett bejegyzéstípus egyik bejegyzését. Mivel az adat átkerült az ACF-ből a JetEngine-be, a metaadatok mind a JetEngine, mind az ACF mezőiben megjelennek. Ha minden rendben működik, az **ACF → Field Groups** oldalon a **Kuka** (Trash) gombbal törölheted az átvitt mezőcsoportot.
