Tovább a tartalomhoz

Űrlapmezők feltöltése a Lekérdezéskészítővel

Select, Radio és Checkbox űrlapmezők opcióinak dinamikus feltöltése JetEngine-lekérdezésből: érték és címke megfeleltetése, három példa és gyakori kérdések.

A JetFormBuilder Select, Radio és Checkbox mezőinek opcióit a JetEngine Lekérdezéskészítő eredményéből töltheted fel. Így a lehetőségek a lekérdezett tartalomhoz igazodnak, nem kézzel kell karbantartani őket. Például a látogatók választhatnak egy egyedi bejegyzéstípus szerzői közül, egy felhasználói lekérdezésből szerepkörrel szűrt felhasználók közül, vagy egy WooCommerce-kategória termékei közül.

Követelmények: Elementor (ingyenes változat), blokkszerkesztő vagy Bricks, valamint a JetFormBuilder és a JetEngine telepítve és aktiválva.

A lekérdezés lekéri az adatot, az űrlapmező pedig megjeleníti. Ahelyett, hogy kézzel adnál meg opciókat, létrehozol egy lekérdezést, és a mezőt a találataihoz kötöd.

A mezőnek tudnia kell:

  • melyik lekérdezés a forrás;
  • melyik tulajdonság legyen a beküldött érték (OPTION VALUE);
  • melyik tulajdonság jelenjen meg a látogatónak (OPTION LABEL).

Ha például egy bejegyzés-lekérdezés az ID, post_title és post_author tulajdonságokat adja, az ID lehet az érték, a post_title a címke. A korábbi leírásokban szereplő egyetlen „Query ID|value|label” karakterlánc helyett a jelenlegi JetFormBuilder külön mezőkben kéri ezeket. A két mezőbe írt tulajdonságnak szerepelnie kell a lekérdezés kimenetében: a lekérdezés Eredmények előnézete kapcsolójával ellenőrizheted, milyen tulajdonságok érhetők el.

  1. Készíts lekérdezést, amely a szükséges adatot adja.
  2. Ellenőrizd az eredményt az Eredmények előnézete kapcsolóval.
  3. Kösd a lekérdezést az űrlapmezőhöz.
  4. Add meg az opció értékét és címkéjét.
  5. Próbáld ki az előoldalon.

A mező beállítása mindhárom példában azonos:

  1. A FILL OPTIONS FROM listában válaszd a Generate Dynamically opciót.
  2. A GENERATOR FUNCTION listában válaszd a Get values list from JetEngine Query opciót.
  3. A QUERY ID mezőben válaszd ki a lekérdezést.
  4. Az OPTION VALUE mezőbe írd a beküldendő tulajdonságot (például ID), az OPTION LABEL mezőbe a megjelenítendőt (például post_title).
  5. A CALCULATED FIELD üresen maradhat. Ezzel a lekérdezés egy további tulajdonságát csatolhatod az opciókhoz; a látogató nem látja.

Ha az OPTION VALUE vagy OPTION LABEL tulajdonsága nincs a lekérdezés kimenetében, a mező üres maradhat vagy hibás értéket mutat.

Az űrlapot a JetForm elemmel (Elementor), blokkal (blokkszerkesztő) vagy Bricks-elemmel illeszted az oldalra. Az űrlap rekordjait a JetFormBuilder → Form Records oldalon nézheted meg, ha a JetForm fül Post Submit Actions szakaszában felvetted a Save Form Record műveletet.

Példa 1: egyedi bejegyzéstípus (Radio mező)

Szekció neve “Példa 1: egyedi bejegyzéstípus (Radio mező)”

Cél: a látogatók megszavazzák a könyvklub következő szerzőjét, a lista pedig csak a bestseller szerzőket tartalmazza.

Lekérdezés

  1. A JetEngine → Lekérdezéskészítő oldalon Új hozzáadása, név például „Is Bestselling Query”.
  2. A típus marad a Bejegyzések lekérdezése.
  3. A bejegyzés-lekérdezés blokkban válaszd ki a bejegyzéstípust (itt „Writers and Book Authors”).
  4. A Meta lekérdezés fülön Új hozzáadása: a mező neve is_bestselling (a Radio típusú meta mező), az összehasonlítás Like, az érték yes, a típus Char.
  5. Kapcsold be az Eredmények előnézete kapcsolót, és ellenőrizd, hogy vannak találatok. Mentsd a lekérdezést.

Űrlap

  1. A JetFormBuilder → Add New Form oldalon adj nevet az űrlapnak. Töröld az automatikusan elhelyezett Welcome Blockot.
  2. Tegyél be egy kötelező Text Field mezőt „Your name” címkével, és egy másik kötelezőt „Email” címkével, amelynek a FIELD TYPE értéke Email (a Field fülön).
  3. Adj hozzá egy kötelező Radio Field mezőt „Choose an author” címkével, és állítsd be a fenti közös menet szerint: az OPTION VALUE ID, az OPTION LABEL post_title.
  4. Tegyél alá egy nem kötelező Textarea Field mezőt „Leave us a message” címkével, majd egy Action Button blokkot az alapértelmezett „Submit” felirattal.
  5. A JetForm fül Post Submit Actions szakaszában az New Action gombbal add hozzá a Save Form Record műveletet. Mentsd az űrlapot.
  6. Illeszd az űrlapot egy oldalra a JetForm elemmel (a Select Form listában válaszd ki).

Az előoldalon a Radio mező a bestseller szerzőket kínálja. Beküldés után sikerüzenet jelenik meg, a rekord pedig a Form Records oldalon látszik.

Cél: olvasókörhöz csatlakozáskor a látogató kiválaszt egy moderátort. A lista szerepkör és meta mező szerint szűrt felhasználókból áll.

Lekérdezés

  1. Új lekérdezés „Query by Moderator” névvel, Felhasználók lekérdezése típussal.
  2. A Felhasználói szerepkör fülön a Szerepkör legyen „Moderator” (a szerepkör előre létrejött; bármely meglévő szerepkör használható).
  3. A Meta lekérdezés fülön Új hozzáadása: a mező neve club_activities, az összehasonlítás Like, az érték offline_events (a meta mező opciójának kulcsa). Így csak azok a moderátorok maradnak, akik offline eseményeket szerveznek.
  4. Az Eredmények előnézete kapcsolóval ellenőrizd az eredményt. Ha nincs találat, nézd meg, hogy van-e a szerepkörhöz rendelt felhasználó, akinél a meta mezőben az opció ki van választva. Mentsd.

Űrlap

  1. Új űrlap „Join a reading group” névvel, Welcome Block nélkül.
  2. Kötelező „Your name” Text Field és „Email” (Email típusú) Text Field.
  3. Kötelező Select Field: FIELD LABEL „Choose a group moderator”, FORM FIELD NAME group_moderator. Beállítás a közös menet szerint, az OPTION VALUE ID (minden felhasználónak van azonosítója), az OPTION LABEL display_name (a felhasználóbarát név). További felhasználói tulajdonságokat az Eredmények előnézete mutat.
  4. Nem kötelező „Leave us a message” Textarea Field, Action Button „Submit” felirattal, majd a Save Form Record művelet.

Az előoldalon a legördülő lista csak a „Moderator” szerepkörű, offline eseményeket szervező felhasználókat tartalmazza.

Példa 3: WooCommerce-termékek (Checkbox mező)

Szekció neve “Példa 3: WooCommerce-termékek (Checkbox mező)”

Cél: a látogatók kiválasztják, mely könyveket beszéljék meg egy sci-fi olvasókörben. A lista a „Science Fiction” kategória termékeiből áll, és új termék felvételekor magától bővül, az űrlapot nem kell módosítani.

Lekérdezés

  1. Új lekérdezés „Query by Science Fiction” névvel, Bejegyzések lekérdezése típussal. (Itt bejegyzés-lekérdezést használunk a „Products” bejegyzéstípussal, mert ez a szokásos WordPress-tulajdonságokat, például ID és post_title, adja, és ezek közvetlenül megfeleltethetők a mezőbeállításokban.)
  2. Az Általános fülön válaszd a „Products” bejegyzéstípust.
  3. A Tax Query fülön a Tax Query Clauses blokkban Új hozzáadása: a taxonómia „Product categories”, a mező Slug, a kifejezések science-fiction. Csak az ebbe a kategóriába tartozó termékek maradnak.
  4. Ellenőrizd az Eredmények előnézete kapcsolóval, és mentsd.

Űrlap

  1. Új űrlap „Join a Science Fiction Book Club” névvel, Welcome Block nélkül.
  2. Kötelező „Your name” és „Email” (Email típusú) Text Field.
  3. Kötelező Checkbox Field: FIELD LABEL „Which books would you like to discuss?”, FORM FIELD NAME books. Beállítás a közös menet szerint, az OPTION VALUE ID, az OPTION LABEL post_title.
  4. „Your message” Textarea Field, Action Button „Submit” felirattal, Save Form Record művelet.

Az előoldalon a Checkbox mező a kategória termékeit kínálja.

  • Üres a Select mező, pedig a lekérdezés ad találatot. Miért? Ellenőrizd, hogy a mezőben a jó lekérdezés van kiválasztva, és hogy az OPTION VALUE és az OPTION LABEL tulajdonsága megegyezik a lekérdezés kimenetével.
  • Honnan tudom, milyen tulajdonságneveket adjak meg? Nyisd meg a lekérdezést, és kapcsold be az Eredmények előnézete kapcsolót: a visszaadott adatszerkezet mutatja a neveket.
  • Használhatok SQL-lekérdezést? Igen, de az SQL által visszaadott oszlopneveknek egyezniük kell az OPTION VALUE és OPTION LABEL mezőkben megadott tulajdonságokkal.
  • Kapcsolat (Relation) alapú lekérdezés használható? Igen, ha a lekérdezés visszaadja a szükséges tulajdonságokat.
  • Hogyan frissül a lista, ha változik az egyedi bejegyzéstípus tartalma? Automatikusan. Ha mégsem, ürítsd a weboldal gyorsítótárát, és ellenőrizd az előnézetet.

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