Tovább a tartalomhoz

Egyedi hozzászólásrendszer CCT-vel

Testre szabható hozzászólásrendszer: CCT a hozzászólásoknak, listázási sablon, kapcsolat a bejegyzéssel, lekérdezés, JetFormBuilder-űrlap és láthatósági szabály a vendégeknek.

Ez az útmutató egy teljesen testre szabható hozzászólásrendszert épít: a hozzászólások elrendezését a JetEngine CCT-je adja, a beküldő űrlapot a JetFormBuilder. Nemcsak bejegyzésekhez, hanem felhasználókhoz és kifejezésekhez is adhatsz hozzászólást.

Előfeltételek:

  • Elementor (az ingyenes is elég), blokkszerkesztő vagy Bricks;
  • aktív JetEngine egyéni bejegyzéstípussal, bekapcsolt Egyedi tartalomtípusok és Dynamic Visibility modullal;
  • aktív JetFormBuilder.
  1. A JetEngine → Egyedi tartalomtípusok oldalon kattints az Új hozzáadása gombra.
  2. A CCT hasonlít az egyéni bejegyzéstípushoz, de két fő különbség van: a CCT-elemeknek nincs önálló oldaluk, és az adattárolás módja más. Emiatt a hozzászólások tárolására ideális: az új hozzászólások nem lassítják a webhelyet.
  3. A Mezők fülön vegyél fel egy Text mezőt a hozzászólás címének és egy WYSIWYG mezőt a tartalmának.
  4. Mentsd a CCT-t (az Egyedi tartalomtípus hozzáadása gombbal).

A bal oldali menüben nyisd meg az új CCT-t, kattints az Új hozzáadása gombra, töltsd ki a mezőket, és kattints a Hozzáadás gombra.

Listázási sablon a hozzászólásokhoz

Szekció neve “Listázási sablon a hozzászólásokhoz”
  1. A JetEngine → Listázások/komponensek oldalon kattints az Új elem hozzáadása gombra, és készíts Listing Item sablont a CCT-hez (a Lista forrása „Custom Content Type”).
  2. A hozzászólás adatait Dynamic Field widgettel (vagy blokkal) jelenítsd meg: a Source „Post/Term/User/Object Data”, az Object Field listából a CCT megfelelő mezője. A beállítás blokkszerkesztőben is ugyanez.
  3. A szerző adatai: tegyél be újabb Dynamic Field widgetet, a Source „Post/Term/User/Object Data”, az Object Field listából válassz felhasználói adatot (például „Nickname”), a Context legördülőben pedig a „Current CCT item author” legyen. Így a felhasználói adatot a hozzászólás szerzője szerint kérdezi le.
  4. A szerző profilképét a Dynamic Image widget (blokkszerkesztőben a Dynamic Image blokk) jeleníti meg.
  5. Nem vagy korlátozva a WordPress alap felhasználói mezőire: ha felhasználói metaboxot hoztál létre, annak mezői a Meta Data forrással megjeleníthetők.
  6. A sablont a Frissítés gombbal mentsd.

Kapcsolat a bejegyzés és a hozzászólás között

Szekció neve “Kapcsolat a bejegyzés és a hozzászólás között”

A JetEngine → Kapcsolatok oldalon kattints az Új hozzáadása gombra. A kapcsolat köti a hozzászólást ahhoz a bejegyzéshez, amelyhez írták. A hozzászólás a Child object (gyermekobjektum), az egyéni bejegyzéstípus (amelynek a bejegyzései megkapják a hozzászólásrendszert) a Parent object (szülőobjektum). A Relation type legyen „One to many”, mert egy bejegyzéshez több hozzászólás tartozik. Mentsd a Kapcsolat hozzáadása gombbal.

Szekció neve “Egyéni lekérdezés a Related Items makróval”

Hogy a bejegyzés alatt csak a hozzá tartozó hozzászólások látsszanak:

  1. A JetEngine → Lekérdezéskészítő oldalon kattints az Új hozzáadása gombra. Adj nevet, a lekérdezés típusa legyen „Custom Content Type Query”.
  2. A From Content Type mezőben válaszd ki a CCT-t, a Status legyen „Publish”, hogy csak a közzétett hozzászólások látsszanak.
  3. Az Order & Order By részben az Add new sorting parameter gombbal rendezz dátum szerint: az Order By „Created Date”, az Order „From lowest to highest values (1, 2, 3; a, b, c)”, a Type „Date”.
  4. A Query részben az Új hozzáadása gombbal kérdezd le a hozzászólásokat a kapcsolt bejegyzés szerint: a Field „Item ID”, a Compare „In the List”, a Value mezőben a „Related Items” makró. A From Relation a létrehozott kapcsolat, a From Object „Child Object” (a gyermek hozzászólások listájához), az Initial Object ID From marad „Current Object ID” (az aktuális bejegyzés azonosítója). Kattints az Apply gombra, a Type legyen „Char”.
  5. Kattints a Lekérdezés hozzáadása gombra.

A hozzászólások megjelenítése a bejegyzés oldalán

Szekció neve “A hozzászólások megjelenítése a bejegyzés oldalán”
  1. Egyéni bejegyzéstípusnál nyisd meg az egyedi bejegyzés sablonját (vagy egyetlen bejegyzés szerkesztőjét) Elementorral vagy blokkszerkesztővel. Tedd a Listing Grid widgetet (blokkot) abba a részbe, ahol a hozzászólások lesznek.
  2. Válaszd ki a listázási sablont, a Columns Number legyen 1, hogy minden hozzászólás új sorba kerüljön.
  3. A Content fül Custom Query részén kapcsold be a Use Custom Query kapcsolót, és válaszd ki az elkészített lekérdezést.
  4. A „No data was found” üzenet addig normális, amíg nincs hozzászólás; a szövegét a General fülön módosíthatod.
  5. Kattints a Közzététel gombra. Blokkszerkesztőben ugyanez a Custom Query beállítás a blokknál.

Az űrlap elrendezése a JetFormBuilderben

Szekció neve “Az űrlap elrendezése a JetFormBuilderben”

A JetFormBuilder → Forms → Add New Form oldalon kezdd az űrlapot. Az űrlap egy új CCT-elemet (hozzászólást) vesz fel, és a kapcsolattal az aktuális bejegyzéshez köti. Az űrlapba tegyél:

  • Text Field a hozzászólás címének;
  • WYSIWYG Field a szövegének;
  • Hidden Field az aktuális bejegyzés azonosítójának („post_id”, a Field Value „Current Post ID”).

Ha az űrlapban látni szeretnéd a bejelentkezett felhasználó profilképét, tegyél be egy Dynamic Image blokkot, válaszd ki a felhasználói mezőt, és a Context legyen „Current User (global)”.

Az Insert/Update Custom Content Type Item művelet

Szekció neve “Az Insert/Update Custom Content Type Item művelet”

A Post Submit Actions között add hozzá az „Insert/Update Custom Content Type Item” műveletet:

  • CONTENT TYPE: a hozzászólás-CCT;
  • ITEM STATUS: „Publish” vagy „Draft”; ha kézzel akarod jóváhagyni a hozzászólásokat, a „Draft” a jó;
  • FIELDS MAP: kösd az űrlapmezőket a CCT-metamezőkhöz. A „post_id” mező melletti legördülő maradjon üresen.

Kattints az Update gombra. Az adminisztrátor értesítéséhez adj hozzá „Send Email” műveletet.

Adj hozzá egy újabb műveletet, a „Connect Relation Items” műveletet, és a ceruza ikonnal nyisd meg:

  • RELATION: a korábban létrehozott kapcsolat;
  • PARENT ITEM ID: a „post_id” űrlapmező (a „Current Post ID” értékű mező miatt az aktuális bejegyzés lesz a szülő);
  • CHILD ITEM ID: az „inserted_cct_slug” elem, itt a példában „inserted_cct_comments_list”; nálad a saját CCT slugja szerepel;
  • UPDATE CONTEXT: „We updating children items for the parent object”;
  • HOW TO STORE NEW ITEMS: „Append new items to already existing related items”.

Kattints az Update gombra. A jobb oldali sávban nyisd meg a JetForm fület, a Form Settings alatt a SUBMIT TYPE legyen „Page Reload”, majd Save.

Nyisd meg az egyedi bejegyzés sablonját (vagy egy bejegyzést) Elementorral vagy blokkszerkesztővel, és tedd a JetForm widgetet (blokkot) a hozzászólások részébe. Válaszd ki az űrlapot, a Submit Type legyen „Page Reload”. A Style részen szabhatod a megjelenést. Közzététel.

Hogy az űrlap ne látsszon a nem bejelentkezett látogatóknak:

  • Elementorban válaszd ki a JetForm widgetet, nyisd meg az Advanced fület, nyisd le a Dynamic Visibility szakaszt, és kapcsold be. A feltételtípus „Show element if condition met”, az új feltételnél válaszd a User szakaszból a „User logged in” értéket.
  • Blokkszerkesztőben jelöld ki a JetForm blokkot, kattints a blokkeszköztár szem alakú ikonjára, és állítsd be ugyanezt: VISIBILITY CONDITION TYPE „Show element if condition met”, feltétel „User logged in”.

Mentsd, ezután az űrlap csak bejelentkezett felhasználóknak látszik.

Nyisd meg a bejegyzést a nyilvános oldalon, és küldj be egy hozzászólást. A beküldés után az oldal újratöltődik, és az új hozzászólás megjelenik. Kijelentkezés után ugyanazon az oldalon a hozzászólások látszanak, de az űrlap nem.

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