Hookok, belső API és gyorsítótár
WordPress-akciók a regisztrációhoz és a belépéshez, a belső PHP-API három függvénye, és a webinárium gyorsítótárának áthelyezése szűrőkkel.
Ez a fejezet fejlesztőknek szól. A bővítmény saját kódot is képes meghívni bizonyos eseményekkor, van egy kis belső PHP-API-ja, és a gyorsítótár helye felülírható.
WordPress-akciók
Szekció neve “WordPress-akciók”Ha a témádban vagy egy saját bővítményben kódot akarsz futtatni egy webinárium eseményeinél, két akcióra iratkozhatsz fel.
Új regisztráció: wpws_new_registration
Szekció neve “Új regisztráció: wpws_new_registration”Minden alkalommal lefut, amikor egy résztvevő regisztrál egy webináriumra. A kapott tömb mezői:
| Mező | Tartalma |
|---|---|
webinar_id |
a webinárium azonosítója |
webinar_name |
a webinárium címe |
webinar_time |
a webinárium időpontja (Unix-időbélyeg) |
attendee_name |
a résztvevő neve |
attendee_email |
a résztvevő e-mail-címe |
function on_new_registration($data) { // az esemény kezelése}
add_action('wpws_new_registration', 'on_new_registration');Belépés a webináriumba: wpws_attendee_attended
Szekció neve “Belépés a webináriumba: wpws_attendee_attended”Akkor fut le, amikor a résztvevő először lép be a webinárium szobájába. A tömb ugyanazokat a mezőket tartalmazza, mint a regisztrációnál, és kiegészül egy mezővel:
| Mező | Tartalma |
|---|---|
joined_at |
a belépés időpontja (Unix-időbélyeg) |
function on_attendee_attended($data) { // az esemény kezelése}
add_action('wpws_attendee_attended', 'on_attendee_attended');Belső API
Szekció neve “Belső API”A WebinarPress osztály három statikus függvénye a következőket teszi lehetővé:
- az összes webinárium listázása,
- egy ismétlődő webinárium következő alkalmainak lekérése,
- résztvevő regisztrálása egy webináriumra.
Webináriumok listázása
Szekció neve “Webináriumok listázása”$webinars = WebinarPress::get_webinars();
foreach ($webinars as &$webinar) { // a webinárium azonosítója $webinar_id = $webinar->id;
// a webinárium neve $name = $webinar->get_name();}Résztvevő regisztrálása
Szekció neve “Résztvevő regisztrálása”WebinarPress::register_attendee([ 'webinar_id' => 123, 'name' => 'Minta Résztvevő',]);Következő alkalmak lekérése
Szekció neve “Következő alkalmak lekérése”A paraméter a webinárium azonosítója.
$sessions = WebinarPress::get_upcoming_sessions(123);
foreach ($sessions as &$session) { $date = $session->date; $day = $session->day; // pl. mon, tue, wed $time = $session->time; // pl. 10:00, 12:00, 13:00}A gyorsítótár helyének felülírása
Szekció neve “A gyorsítótár helyének felülírása”A bővítmény gyorsítótár-fájlokat ír a webinárium adataihoz. Összetettebb WordPress-környezetben (például több webszervernél) érdemes lehet ezeket közös helyre tenni, hogy az egyik szerveren végzett frissítés az összes többinek is frissítse a gyorsítótárat. Az is lehet, hogy a fájlokat teljesen másik domainről szeretnéd kiszolgálni.
Ehhez két WordPress-szűrőt kell megvalósítanod a témádban vagy egy kis bővítményben:
wpws_get_cache_path: megmondja, hova írja a bővítmény a gyorsítótár-fájlokat (fájlrendszerbeli útvonal),wpws_get_cache_url: megmondja a weboldalnak, honnan töltse le a gyorsítótárat (URL).
function wpws_get_cache_path($path) { return '/var/www/html/path/to/your/cache/folder/';}
function wpws_get_cache_url($url) { return 'https://pelda.hu/path/to/your/cache/folder/';}
add_filter('wpws_get_cache_path', 'wpws_get_cache_path');add_filter('wpws_get_cache_url', 'wpws_get_cache_url');Készült: