Heartbeat API Endre puls

I den første delen av denne serien så vi på det grunnleggende i Heartbeat API, og hvordan det kan implementeres i et plugin. I denne opplæringen ser vi på hvordan du kan endre pulsen i Heartbeat.

Som standard slår WordPress-hjerte en gang hvert 15. sekund. Du kan senke den hastigheten til noe ned til ett slag hvert minutt. Alternativt kan du midlertidig øke frekvensen til ett slag hvert 5. sekund - men bare midlertidig i to og et halvt minutt før det nullstilles til standardstanden: "4 BPM".


Endre standardpuls

For å endre standardpulsen kan du bruke wp_heartbeat_filter filter som filtrerer de innledende innstillingene til Heartbeat API. Dette filteret gjør ikke la deg først sette pulsen til 'rask': i stedet kan du bare angi et tall mellom 15 og 60 (intervall mellom slag i sekunder).

 funksjon wptuts_heartbeat_settings ($ settings) $ settings ['interval'] = 60; // Alt mellom 15-60 returnerer $ innstillinger;  add_filter ('heartbeat_settings', 'wptuts_heartbeat_settings');

Slå av automatisk start

Selv om forespørsler bare sendes til serveren når det er data som skal sendes, begynner Hearbeat å kjøre automatisk når siden lastes. Du kan slå automatisk av start fra standard Heartbeat-innstillinger:

 funksjon wptuts_heartbeat_settings ($ settings) $ settings ['autostart'] = false; returner $ innstillinger;  add_filter ('heartbeat_settings', 'wptuts_heartbeat_settings');

Bytter fra server-side til nettleseren, vil Heartbeat da bare begynne å løpe hvis:

 wp.heartbeat.start ();

er kalt. Du kan også slå av Heartbeat-klientsiden også:

 wp.heartbeat.stop ();

Endre Pulse Client-Side

I tillegg til å slå Heartbeat på og av, kan du manipulere taktens slag (for eksempel) som svar på visse hendelser utløst av brukeren. For eksempel kan du lytte etter når brukeren starter en aktivitet som krever mer regelmessig kommunikasjon med serveren - og dermed øke tempoet midlertidig.

Fra ditt JavaScript-skript:

 // 1 slå hvert 5. sekund i maksimalt to og et halvt minutt wp.heartbeat.interval ('fast'); // 1 slå hvert 60 sekund wp.heartbeat.interval ('slow'); // 1 slå hvert 15. sekund wp.heartbeat.interval ('standard');
Advarsel: Selv om "rask" bare varer to og et halvt minutt, hvis du kontinuerlig setter pulsen til "rask", så går den i virkeligheten permanent til den hastigheten. Du bør være forsiktig med hvordan du endrer pulsen og gjør det bare når du trenger det.

Endre pulsserver-siden

I tillegg til å endre pulsbrowser-siden, kan vi også gjøre dette hver gang nettleseren kommuniserer med serveren. Dette gjøres ved å sette 'HEARTBEAT_INTERVAL'i svaret - det kan være en av'rask','langsom'eller'standard'.

 funksjon wptuts_respond_to_browser ($ respons, $ data, $ screen_id) if (isset ($ data ['wptuts-plugin'])) // Plug-in data sendes til nettleser $ respons ['wptuts-plugin'] = array ('hello' => 'verden'); // Slow hearbeat $ response ['heartbeat_interval'] = 'sakte';  returner $ respons;  add_filter ('heartbeat_received', 'wptuts_respond_to_browser', 10, 3); // Loggt på brukere add_filter ('heartbeat_nopriv_received', 'wptuts_respond_to_browser', 10, 3); // Logget ut brukere

Bruker Inaktivitet

Heartbeat API justerer også slaget i henhold til brukerens aktivitet. WordPress sjekker brukeraktivitet hvert 30. sekund, hvis etter 5 minutter det ikke har vært noe tastatur eller musaktivitet, blir beat redusert til ett slag hvert hundre sekunder. Dette gjøres uansett hva det kan ha blitt satt til av et plugin.

I den siste delen av denne serien skal vi lage et enkelt fungerende eksempel på et plugin ved hjelp av den nye Heartbeat API. Vi lager et plugin som gir brukerne 'live' oppdateringer når brukere logger inn og ut av WordPress.