Egyedi megjelenés

Az űrlap testreszabása

Alapértelmezett foglalási űrlap

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.

Egyedileg módosított űrlap

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

Űrlap adatai megjelenítéseA 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);