Egyedi megjelenés
Az űrlap testreszabása
A foglalási űrlap testre-szabható. Az űrlapon szabadon definiálhatóak HTML input
elemek, amelyek később a megjelenítésnél és/vagy az email értesítések sablonjaiban hivatkozhatóak.
Egyetlen <input>
elem feltétlenül szükséges a rendszer helyes működéséhez:
<input type="email" name="email" required />
Ezen túlmenően kettő blokkot mindenképpen el kell helyezni az űrlapban, ahová a rendszer a nap és időpont kiválasztásához szükséges elemeket tölti be:
<div class="appointment-month"></div>
és
<div class="appointment-times"></div>
Amennyiben ezek az elemek nincsenek a sablonban, a plugin hibát fog generálni.
Nem csak az űrlap, de a dátumválasztó doboz megjelenése is egyedivé tehető. Erre példa a telepítő csomagban található a customize-sample
mappában. Az ott lévő to-functions-php.txt
tartalmát másold be a (child) téma functions.php
fájlba, majd a book-an-appointment mappát a (child) témába. Ha így teszel, akkor az alábbi módon jelenik majd meg az űrlap. Vedd észre, hogy új mező is lett hozzáadva! Használd mintaként!
A megjelenő dátumválasztó első hónapjának beállításához használd a „start_month” paramétert:
[book-an-appointment target="<my_place>" start_month="6"]
Ha a hónap már elmúlt, akkor az aktuális fog megjelenni, egyébként a beállított.
A sablon felülírása
A rendszer a foglalási űrlap megjelenéséhez elsőként az oldal által használt (child) témában, a „book-an-appointment” mappában az booking-form-single.html
fájlt keresi. Ha ez megtalálható, akkor ezt fogja használni, ha pedig nem, akkor a plugin mappájában a „templates” mappában keresi ugyanezt a fájlt.
Figyelem! Egy esetleges frissítés, a plugin mappájában lévő (esetleg módosított) sablont felül fogja írni. Célszerű a plugin mappájából a (child) téma „book-an-appointment” mappájába átmásolni a sablont, majd azt szerkeszteni a kívánt módon.
Ez a sablon egy egyszerű HTML fájl. Található benne néhány hivatkozás (Pl.: [NAME], amelyeket a nyelvi fájlból, egyszerű cserével módosít.
Szabadon szerkeszthető, majd a benne elhelyezett <input>
mezők, azok name
azonosítóin keresztül elérhetőek. Például az <input name="phone" />
mező értéke később a phone
azonosítóval érhető el a sablonokban.
Shortcode adat átadása a sablonnak
Arra is lehetőség van, hogy a shortcode
-on keresztül adj át adatot a sablonnak, amelyet azután saját mezőként használhatsz. A plugin minden, a shortcode-ban megadott változót átad a sablonnak felhasználásra. Pl.:
[book-an-appointment target="<my_place>" memo="Ez egy shortcode érték"]
A memo mező értékére a sablonban pl. így hivatkozhatsz:
<input type="hidden" name="<my_name>" value="<!-- memo -->" />
A plugin a value
mezőbe be fogja helyettesíteni a memo
értékét. Az eredmény a forrásban ilyen lesz:
<input type="hidden" name="<my_name>" value="Ez egy shortcode érték" />
Néhány érték automatikusan átadásra kerül a sablonnak és ezeket ott használni tudod:
<!-- blog_name --> |
Az oldal neve |
<!-- home_url --> |
A kezdőoldal URL címe |
<!-- current_url --> |
Az aktuális oldal URL címe |
<!-- current_title --> |
Az aktuális oldal címe |
<!-- date --> |
Pillanatnyi dátum |
<!-- time --> |
Pillanatnyi időpont |
<!-- datetime --> |
Pillanatnyi dátum és időpont |
A megjelenítés felülírása
A plugin az űrlapon megadott adatokat az adminisztrátor számára megjeleníti. Ehhez a book_an_appointment_961_booking_content
szűrőt használja, amelynek a felülírása szükséges lehet.
Ehhez a (child) téma mappájában lévő functions.php
fájlt kell szerkesztened és az alábbi php kódot elhelyezned benne:
// Első lépésben töröld az alapértelmezett szűrőt - ha kell remove_filter('book_an_appointment_961_booking_content', 'book_an_appointment_961_booking_render_content_html', 11); // Definiáld az új eljárást function my_booking_render_content_html($data) { $data = unserialize($data); // Ezt a blokkot módosítsd igényeid szerint $html = '<strong>'.$data['name'].'</strong>' . '<div class="small">'.$data['phone'].'</div>' . '<div class="small"><a href="mailto:'.$data['email'].'">'.$data['email'].'</a></div>'; // Módosítandó blokk vége return $html; } // Használd az új szűrőt add_filter('book_an_appointment_961_booking_content', 'my_booking_render_content_html', 12, 1);