Tovább a tartalomhoz

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ó.

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');

A WebinarPress osztály három statikus függvénye a következőket teszi lehetővé:

  1. az összes webinárium listázása,
  2. egy ismétlődő webinárium következő alkalmainak lekérése,
  3. résztvevő regisztrálása egy webináriumra.
$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();
}
WebinarPress::register_attendee([
'webinar_id' => 123,
'name' => 'Minta Résztvevő',
'email' => '[email protected]'
]);

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:

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