Felhasználói adatok módosítása űrlappal
A felhasználó saját adatainak szerkesztése a nyilvános felületről: metabox, JetFormBuilder vagy régi JetEngine-űrlap Update User művelettel, és az aloldal a fiókoldalon.
Ez a fejezet azt mutatja meg, hogyan módosíthatják a felhasználók a személyes adataikat a nyilvános felületről egy űrlappal. A megoldás a Profilkészítővel együtt használható.
Előfeltételek:
- Elementor (az ingyenes is elég) vagy a WordPress blokkszerkesztője;
- több felhasználó a webhelyen;
- aktív JetEngine, elkészített fiókoldallal.
Kiegészítő metabox
Szekció neve “Kiegészítő metabox”A metabox plusz mezőket ad a felhasználói profilhoz. Ha már van felhasználói metaboxod a szükséges mezőkkel, ezt a lépést kihagyhatod.
- A JetEngine → Metaboxok oldalon kattints az Új hozzáadása gombra.
- Add meg a metabox címét, és a Meta Box for mezőben válaszd a User értéket.
- A feltételek között a Visible at listában válassz:
- Edit User: a mezők az Edit User oldalra kerülnek; mivel felhasználót csak az adminisztrátor szerkeszthet, ők csak neki látszanak;
- Edit User & Profile: a mezők a Profil oldalon és az Edit User oldalon is megjelennek, így maguk a felhasználók is szerkeszthetik őket.
- A + Új feltétel gombbal szerepköröket is bevonhatsz vagy kizárhatsz.
- Az Új metamező gombbal vedd fel a mezőket. A példában az álláskeresők mezői: szöveg (becenév, név, e-mail), Media (avatár), Date (születésnap), WYSIWYG (leírás), Repeater (készségek és tanulmányok), Number (elvárt fizetés) és Checkbox (nyelvek).
- Mentsd a metaboxot (Metabox hozzáadása).
A Felhasználók → Minden felhasználó oldalon szerkessz egy olyan felhasználót, akire a metabox feltételei érvényesek: az oldal alján megjelenik a metabox a kitölthető mezőkkel.
Az űrlap
Szekció neve “Az űrlap”JetFormBuilder-űrlap
Szekció neve “JetFormBuilder-űrlap”Telepítsd és aktiváld a JetFormBuilder bővítményt. A JetFormBuilder → Új hozzáadása oldalon három blokkot találsz: Hidden Field, Text Field és Action Button.
Mezők
Szekció neve “Mezők”- Add meg az űrlap címét, és kattints a Hidden Field blokkra. A FIELD VALUE legyen „Current User ID”, a FORM FIELD NAME pedig például „user_id”. A mező neve csak latin betűt, számot, kötőjelet és aláhúzást tartalmazhat.
- A Text Field blokkot törölheted vagy módosíthatod; az Action Button is átszerkeszthető, de a példában változatlan marad.
- A + ikonnal annyi mezőt veszel fel, amennyi kell. A példában három Text Field van a becenévnek, a vezeték- és a keresztnévnek (FIELD LABEL, FORM FIELD NAME, a FIELD TYPE „Text”).
- Az e-mail mezőnél a FIELD TYPE „Email”, telefonszámnál „Tel”.
- Az avatárhoz Media Field blokk kell, FIELD LABEL és FORM FIELD NAME beállítással. Kapcsold be az Insert attachment kapcsolót, és a FIELD VALUE igazodjon a metabox Media mezőjének beállításához: ha a mezőnél a „Media ID” értékformátumot választottad, itt az „Attachment ID” kell. Enélkül a felhasználók nem tölthetnek fel fájlt az űrlapon.
- Az Action Button legyen az utolsó blokk.
Preset Settings
Szekció neve “Preset Settings”A JetForm beállítások között nyisd le a Preset Settings szakaszt:
- Kapcsold be a kapcsolót, a SOURCE legyen „User”, a GET USER ID FROM pedig „Current User”.
- A „Current User ID” rejtett mezőnél válaszd a „User ID” értéket, a többi mezőnél a „User Meta” értéket, amely az egyéni metamezőből tölti az adatot.
- A megjelenő mezőkbe írd be a metabox megfelelő metamezőinek nevét.
Post Submit Actions
Szekció neve “Post Submit Actions”- A JetForm beállítások Post Submit Actions szakaszában válaszd az „Update User” műveletet, és kattints a ceruza ikonra.
- A FIELDS MAP részben a rejtett mezőhöz válaszd a „User ID (will update this user)” értéket, a többi mezőhöz a „User Meta” értéket, és add meg a hozzájuk tartozó metamezők nevét.
- A USER ROLE mezőt hagyd üresen, különben a beküldés után a felhasználó szerepköre a kiválasztottra változik.
- A MESSAGES SETTINGS részben egyedi üzeneteket is megadhatsz.
- Kattints az Update gombra.
- Kattints a + New Action gombra, válaszd a „Redirect to Page” műveletet, és a ceruza ikonnal nyisd meg. A REDIRECT TO legyen „Static Page”, a SELECT PAGE pedig a „Fiókom” oldal. Update.
- Mentsd az űrlapot (Publish/Update).
Régi JetEngine-űrlap
Szekció neve “Régi JetEngine-űrlap”A JetEngine-űrlapok elavult funkció; újabb lehetőségekhez a JetFormBuilder az ajánlott. Ha mégis ezt használod:
- A JetEngine → JetEngine → Modulok fülön kapcsold be az Űrlapok (régi) modult, és mentsd.
- A JetEngine → Űrlapok oldalon kattints az Új hozzáadása gombra.
- Add meg az űrlap címét, és a ceruza ikonnal szerkeszd az első mezőt: a Field Value legyen „Current User ID”, a Name és a Label tetszés szerinti. A mező nem látszik a nyilvános oldalon. Apply Changes. A név csak latin betűt, számot, kötőjelet és aláhúzást tartalmazhat.
- Az Add Field gombbal vedd fel a további mezőket. A példa szövegmezői (becenév, név, e-mail) Text típusúak, a Field Visibility pedig „Only for logged in users”. Az e-mail mezőnél a Field Type „Email”, a telefonszámnál „Tel”.
- Az avatárhoz a Media típust válaszd, add meg a Name, Label és User access mezőt. Jelöld be az Insert attachment jelölőnégyzetet, és a Field value igazodjon a metabox Media mezőjéhez („Media ID” formátumhoz „Attachment ID”).
- A mezők sorrendjét húzással rendezheted; a Submit Button legyen az utolsó.
- A mezők alatt jelöld be a Pre-set form field values jelölőnégyzetet. A Source legyen „User”, a Get user ID from „Current user”. A Fields Map részben a rejtett mezőhöz „User ID”, a többihez „User Meta”, és add meg a metamezők nevét.
- A Post-submit Actions / Notifications Settings részben a „Send Email” műveletet a ceruza ikonnal szerkeszd át: a Type legyen „Update User”. A Fields Map részben a rejtett mezőhöz „User ID (will update this user)”, a többihez „User Meta”. A User Role mezőt hagyd üresen. Apply Changes.
- Az Add Notification gombbal vegyél fel egy újat: a Type „Redirect to Page”, a Redirect to „Static Page”, a Select page a „Fiókom” oldal. Apply Changes.
- Mentsd az űrlapot.
Az űrlap elhelyezése az aloldal sablonjában
Szekció neve “Az űrlap elhelyezése az aloldal sablonjában”Az aloldal sablonját elkészítheted az Elementor sablonszerkesztőjével (Elementor → Sablonok → Mentett sablonok → Új hozzáadása) vagy a JetEngine-nel. Utóbbinál a JetEngine → Listázások/komponensek oldalon a Lista forrása legyen Felhasználók, adj nevet, és válaszd az Elementor vagy a Blocks (Gutenberg) nézetet.
Elementorban a Form vagy a JetForm widgetet húzd be. A Form widget JetEngine- és JetFormBuilder-űrlapot is meg tud jeleníteni (válaszd ki a Provider értékét: „JetEngine” vagy „JetFormBuilder”, majd az űrlapot). A JetForm widget csak JetFormBuilder-űrlapot jelenít meg, ott csak az űrlapot kell kiválasztani. A két widget tartalmi és stílusbeállításai kissé eltérnek.
Ha a fiókoldal Átírás módban van, tedd a sablonba a Profile Menu widgetet is. Tartalom módban nem kell, mert a menü már a fiókoldalon van. Kattints a Közzététel/Frissítés gombra.
A blokkszerkesztőben ugyanez a menet, a Form vagy a JetForm blokkal. A stílusbeállításokhoz használhatod az ingyenes JetStyleManager bővítményt.
Az aloldal hozzárendelése a fiókoldalhoz
Szekció neve “Az aloldal hozzárendelése a fiókoldalhoz”- Nyisd meg a JetEngine → Profile Builder → Fiókoldal fület, és kattints a + Új aloldal hozzáadása gombra.
- Add meg a Cím értékét. A Slug magától kitöltődik, de módosíthatod; csak kisbetűs latin betűt, számot, kötőjelet és aláhúzást használj, szóköz helyett kötőjelet.
- A Sablon mezőben válaszd ki az előbb készített sablont. Az Elérhető a felhasználói szerepkör számára mezőben szerepköröket is kijelölhetsz.
- Kattints a Mentés gombra.
Kipróbálás a nyilvános oldalon
Szekció neve “Kipróbálás a nyilvános oldalon”Jelentkezz be egy felhasználóval, nyisd meg a fiókoldalt, és kattints a profilmenü megfelelő pontjára. Módosítsd valamelyik adatot (például az avatárt), és kattints a beküldés gombra. Az űrlap a fiókoldalra irányít át, az első aloldalon már a módosított adat látszik. A vezérlőpulton, a Felhasználók oldalon a felhasználó szerkesztésénél a megfelelő metamezőben is megjelenik az új érték.
Készült: