Am Puls der Zeit mit der Heartbeat-API - Guru 2.0
Am Puls der Zeit mit der Heartbeat-API

Am Puls der Zeit mit der Heartbeat-API

puzzled_hearts by Linh_rOm

Der Puls der Heartbeat-API von WordPress

Ich denke es ist wieder ein guter Einstieg in die WordPress-Szene, wenn ich euch etwas neues, aber nicht brandneues, vorstelle.
Hast Du schon von der Heartbeat-API aus WordPress 3.6 aka “Oscar” gehört?

Was ist der Herzschlag von WordPress?

Irgendwie lässt der Name es schon vermuten: Die API ist für die regelmäßige Kommunikation zwischen Server und Browser des Anwenders zuständig. Eigentlich war die API für’s Dashboard gedacht. Damit können Posts vor gleichzeitigem Bearbeiten gesperrt werden oder auch abgelaufene LogIns dem Anwender angezeigt werden.
Aber natürlich können wir sie auch für PlugIns benutzen. Damit können wir eine Server-Anwender-Kommunikation aufbauen. Der Browser schickt Daten an den Server und der antwortet wieder mit den passenden Infos. Wir haben also einen Kreislauf mit zwei Herzschlägen und da dieser reglemäßig wiederholt wird eine dauernde Verbindung zwischen Server und Browser. Und wie in deinem Körper läuft das Ganze unbewusst ab (wir sagen dazu im Hintergrund) und Du merkst es nicht einmal.

Daten vom Browser an den Server senden!

Um vom Anwender jetzt Daten zu senden gibt es die neue JavaScript-Funktion wp.heartbeat.enqueue(). Dies hat folgende drei Parameter:

  1. handle (string): Eine ID für deine Daten. Schau auf jeden Fall, dass die ID einmalig ist.
  2. data (object): Das sind die zu sendenden Daten, als JSON-Objekt.
  3. override (bool): Sollen bestehende Daten überschrieben werden. Mit true werden bereits vorhandene Daten für den handle ersetzt. Ist es jedoch false und es existieren bereits Daten, passiert ganz und gar nichts.

Am Besten schauen wir uns ein paar Zeilen PHP-Code an, dann ist es verständlicher:

So ist es doch gleich klarer, oder nicht?

Trotzdem ein kleiner Hinweis!
Alle Daten werden sofort nach der Übergabe aus der Warteschlange entfernt. Werden jetzt wieder Daten hinzugefügt, werden diese erst beim nächsten Herzschlag übermittelt.

Horche auf den Herzschlag!

Nachdem wir die Daten jetzt gesendet haben, sollten wir auch auf die Antwort horchen, die uns der Server hoffentlich senden wird. Sobald dies passiert ist, erzeugt WordPress ein Event heartbeat-tick und auf dieses Event können wir aufsetzen. Das ganze könnte dann als Beispiel so aussehen:

Und auch hier ein Tipp aus der Trickkiste!

Verwende nicht einfach das Event heartbeat-tick, sondern folge der Empfehlung aus dem WordPress-Codex und verwende heartbeat-tick.{unique-namespace}. Denn nur so kannst Du die Daten vom Server auseinanderhalten.

Denn die Heartbeat-API hat eine – meiner Meinung nach – nette Eigenart. Da sie regelmäßig ausgelöst wird, werden auch alle zu übermittelnden Daten zusammengefasst und nur einmal übertragen. Genauso erhalten wir auch nur einmal eine Antowrt. Und dann sollten wir schon wissen, wer, was, mit welchen Daten anstellen soll oder darf.

Ich hoffe euch wieder geholfen zu haben und würde mich über rege Kommentare freuen. Wie schaut es aus, soll ich noch tiefer einsteigen und ein Beispiel-PlugIn vorstellen?

Blogheim.at Logo
Diese Website verwendet Cookies - nähere Informationen dazu finden Sie in unserer „Datenschutzerklärung“. Klicken Sie auf „Ich stimme zu“, um Cookies zu akzeptieren und unsere Webseite zu besuchen, oder klicken Sie auf „Cookie-Einstellungen“, um Ihre Cookies selbst zu verwalten.