Um einen neuen Cronjob zu registrieren, benötigen wir folgende Funktion:
<?php
function wp_schedule_event( $timestamp, $recurrence, $hook, $args = array() ) {
...
}
?>
Es gilt:
Zurückgegeben wird entweder true
oder false
, was bedeutet, dass der Cronjob erfolgreich hinzugefügt wurde oder nicht.
Achtung: In Versionen < 5.1 gibt die Funktionen nur im Fehlerfall false
zurück. Ansonsten hat die Funktion in einer älteren WordPress-Version keinen Rückgabewert (es wird also nicht etwa true
zurückgegeben).
An dieser Stelle ist es wichtig zu wissen, dass WordPress einen einmal erstellten Cronjob in die Datenbank speichert. Es weiß dann zukünftig, welcher Hook zu welchem Zeitpunkt ausgeführt werden soll. Nachfolgendes Beispiel soll dies verdeutlichen.
Beispiel
Bauen wir uns an dieser Stelle ein eigenes Wetter-Widget, welches die aktuelle Temperatur jede Stunde abrufen soll. Wir nutzen die API des Wetterdienstes des norwegischen, meteorologischen Instituts und der NRK dafür. Weitere Informationen finden Sie hier: http://om.yr.no/verdata/vilkar/
Das Grundgerüst des Widgets habe ich bereits erstellt und bei Github hinterlegt: https://github.com/WordPress-Plugin-Programmierer/ebook-snippets/tree/master/16.4.weather-wi
Hier der komplette Auszug:
Grundfunktion:
Nach der Aktivierung des Plugins finden Sie das neue Widget im Dashboard unter Design » Widgets. Dort müssen Sie es per Drag&Drop in eine Seitenleiste ziehen damit es aktiviert wird.
Danach geben Sie einen Titel so wie den Ort ein, dessen Temperatur angezeigt werden soll. Erwartet wird ein Pfad zu einem Ort. Am besten Sie suchen auf yr.no nach den Ort Ihrer Wahl und kopieren sich dann den Pfad aus der Adressleiste. Für München wäre das beispielhaft Germany/Bavaria/Munich
.