In het eerste deel van deze serie hebben we gekeken naar de basis van de Heartbeat API en hoe deze kan worden geïmplementeerd in een plug-in. In deze tutorial zullen we kijken naar hoe je de "puls" van de Heartbeat kunt veranderen.
Standaard verslaat het WordPress-hart eenmaal per 15 seconden. Je kunt die snelheid elke minuut naar beneden verlagen tot één beat. Als alternatief kunt u de snelheid tijdelijk elke 5 seconden verhogen tot één slag - maar slechts tijdelijk gedurende twee en een halve minuut voordat deze wordt gereset naar de 'standaard'-slag:' 4 BPM '.
Om de standaardpuls te wijzigen, kunt u de wp_heartbeat_filter
filter die de begininstellingen van de Heartbeat API filtert. Dit filter doet niet laat je toe om de puls in eerste instantie op 'snel' in te stellen: in plaats daarvan kun je alleen een getal tussen 15 en 60 opgeven (interval tussen beats in seconden).
functie wptuts_heartbeat_settings ($ settings) $ settings ['interval'] = 60; // Alles tussen 15-60 $ return-instellingen; add_filter ('heartbeat_settings', 'wptuts_heartbeat_settings');
Hoewel aanvragen alleen naar de server worden verzonden wanneer er gegevens moeten worden verzonden, wordt Hearbeat automatisch gestart wanneer de pagina wordt geladen. U kunt automatisch starten uitschakelen met de standaard Heartbeat-instellingen:
function wptuts_heartbeat_settings ($ settings) $ settings ['autostart'] = false; return $ settings; add_filter ('heartbeat_settings', 'wptuts_heartbeat_settings');
Als u van serverzijde naar de browser overschakelt, wordt Heartbeat alleen gestart als:
wp.heartbeat.start ();
wordt genoemd. U kunt Heartbeat-client ook uitschakelen:
wp.heartbeat.stop ();
Naast het in- en uitschakelen van Heartbeat, kunt u de slag van de puls (bijvoorbeeld) manipuleren als reactie op bepaalde gebeurtenissen die door de gebruiker worden geactiveerd. U kunt bijvoorbeeld luisteren naar wanneer de gebruiker een activiteit start die meer regelmatige communicatie met de server vereist - en dus tijdelijk de snelheid verhoogt.
Vanuit uw JavaScript-script:
// 1 slag elke 5 seconden gedurende maximaal tweeënhalve minuut wp.hartslag.interval ('snel'); // 1 beat om de 60 seconden wp.heartbeat.interval ('slow'); // 1 beat om de 15 seconden wp.heartbeat.interval ('standaard');Waarschuwing: Hoewel 'snel' slechts tweeënhalve minuut duurt, als u de puls voortdurend op 'snel' zet, blijft deze in feite permanent op die snelheid draaien. Je moet voorzichtig zijn met het veranderen van de pols en dat alleen als je dat moet doen.
Naast het veranderen van de pulse browser-kant, kunnen we dit ook doen elke keer dat de browser met de server communiceert. Dit gebeurt door het instellen van 'heartbeat_interval
'in de reactie - het kan een van' zijnsnel
','langzaam
'of'standaard-
'.
functie wptuts_respond_to_browser ($ response, $ data, $ screen_id) if (isset ($ data ['wptuts-plugin'])) // Plug-in data wordt verzonden naar browser $ response ['wptuts-plugin'] = array ('hallo' => 'wereld'); // Slow the hearbeat $ response ['heartbeat_interval'] = 'langzaam'; return $ antwoord; add_filter ('heartbeat_received', 'wptuts_respond_to_browser', 10, 3); // Ingelogde gebruikers add_filter ('heartbeat_nopriv_received', 'wptuts_respond_to_browser', 10, 3); // Uitgelogde gebruikers
De Heartbeat API past ook de slag aan op basis van de activiteit van een gebruiker. WordPress controleert gebruikersactiviteit elke 30 seconden, als na 5 minuten er geen toetsenbord- of muisactiviteit is geweest, wordt de beat elke honderd seconden teruggebracht tot één slag. Dit gebeurt ongeacht wat er mogelijk is ingesteld door een plug-in.
In het laatste deel van deze serie zullen we een eenvoudig werkend voorbeeld van een plug-in maken met behulp van de nieuwe Heartbeat API. We zullen een plug-in maken die gebruikers 'live' updates geeft wanneer gebruikers in en uitloggen bij WordPress.