Cron ist ein Unix / Linux-Dienstprogramm, mit dem normalerweise Befehle oder ein Skript auf einem Webserver geplant werden, der im Hintergrund ausgeführt wird. Ein Cron-Job ist die Aufgabe selbst, mit der Aufgaben zu regelmäßigen festen Zeiten, Daten oder Intervallen geplant werden. In der Regel handelt es sich dabei um sich wiederholende Aufgaben, die zur Zeitersparnis automatisiert werden. In WordPress wird dies von WP-Cron gehandhabt, mit dem ein System-Cron simuliert wird.

Einige Beispiele für einen Cron-Job in WordPress umfassen das Planen eines Beitrags für die Veröffentlichung oder ein Backup-Plugin, das nach einem vordefinierten Zeitplan ausgeführt wird. Heute beschäftigen wir uns mit dem einfachen Erstellen, Ändern und Ausführen eines WordPress-Cron-Jobs.

So richtest du einen WordPress Cron-Job ein

Es ist wichtig zu beachten, dass WP-Cron sich geringfügig von einem System-Cron unterscheidet und dass jeder seine eigenen Vor- und Nachteile hat. Beispielsweise verlässt sich WP-Cron vollständig auf Intervalle, wohingegen sich ein System-Cron auf bestimmte Zeiten verlässt. Ein WP-Cron funktioniert auch nur, wenn die Seite geladen ist (Back-End oder Front-End), was weniger zuverlässig sein könnte. Die von WordPress bereitgestellten Standardintervalle sind stündlich, zweimal täglich und täglich.

Um WP-Cron-Ereignisse zu planen, musst du benutzerdefinierte Hooks erstellen. Wir empfehlen, das offizielle WordPress-Plugin-Handbuch zu lesen, das einen tollen Leitfaden zum Planen von WP Cron-Ereignissen enthält. Wenn du nach einer alternativen Möglichkeit suchst, einen System-Cron mit WordPress einzurichten, empfehlen wir dir, den Artikel von Tom Mcfarlin über das Definieren eines WordPress-Cron-Jobs zu lesen. Und für diejenigen, die vielleicht nicht so weit fortgeschritten sind, werden wir untersuchen, wie man WP-Cron zusammen mit dem beliebten kostenlosen WP Crontrol-Plugin einfach verwendet. Auf diese Weise kannst du anzeigen und steuern, was im WP-Cron-System geschieht.

wp control plugin

WP Control WordPress-Plugin

WP Control hat über 80.000 aktive Installationen mit einer Bewertung von 4,9 von 5 Sternen. Viele Leute in der WordPress-Community lieben dieses Plugin wirklich.

Dieses Plugin ist sehr nützlich. Zeigt an, welche CRON-Jobs ausgeführt werden sollen, und ist ein hervorragender erster Schritt, um zu verstehen, was gerade läuft und ob es funktioniert oder nicht. 5 Sterne genau dort. Du kannst auch neue Cron-Jobs erstellen und vorhandene auslösen, wobei 5 Bonussterne an der Spitze liegen. – Josh, Erfinder der Caldera Forms

Du kannst es aus dem WordPress-Repository herunterladen oder im WordPress Dashboard unter „Add New“ („Neu hinzugügen“)-Plugins suchen.  Zu den Funktionen von WP Control gehören:

  • Möglichkeit, alle Cron-Ereignisse zusammen mit ihren Argumenten, ihrer Wiederholung und ihrer nächsten Laufzeit anzuzeigen.
  • Cron-Ereignisse bearbeiten, löschen und sofort ausführen.
  • Neuen Cron-Ereignisse hinzufügen.
  • Hinzufügen, Bearbeiten und Entfernen von benutzerdefinierten Cron-Zeitplänen.

Server Cron

Wenn du ein Kinsta-Client bist, haben wir auch einen Server-Cron-Job, der alle 15 Minuten auf allen Seiten ausgeführt wird. In unserem Artikel erfährst du, wie du Server Crons bei Kinsta verwalten kannst.

WP-Cron Planung

Nach der Aktivierung kannst du die WordPress Cron-Jobpläne unter „Cron-Pläne“ in den Einstellungen deines WordPress-Dashboards ändern. Beachte, dass das Plugin einen zusätzlichen Standardzeitplan von wöchentlich hinzufügt. Du kannst auch zusätzliche Zeitpläne in Sekunden hinzufügen, z. B. 21600 Sekunden pro 6 Stunden.

WP-Cron Planung

WP-Cron Planung

Diese Intervalle können auch mit Code mithilfe eines Filters hinzugefügt werden, z.B.

add_filter( 'cron_schedules', 'example_add_cron_interval' );

function example_add_cron_interval( $schedules ) {
 $schedules['five_seconds'] = array(
 'interval' => 5,
 'display' => esc_html__( 'Every Five Seconds' ),
 );

return $schedules;
 }

WP-Cron Ereignis

Du kannst dann auch das Plugin verwenden, um deine aktuellen WordPress Cron-Jobs anzuzeigen, die bereits geplant sind. Klicke unter „Tools“ auf „CronEvents (Cron-Ereignisse)“. Viele der Aktionsnamen sind leicht zu erkennen, da sie mit einem Teil des Plugin-Namens übereinstimmen sollten, z. B. „woocoomerce_cleanup_sessions“ oder „gravityforms_cron“.

WP-Cron Ereignisse

WP-Cron Ereignisse

Du führst ein Cron-Ereignis sofort aus, indem du einfach auf „Jetzt ausführen“ neben dem Aktionsnamen klickst. Dies kann bei der Fehlerbehebung hilfreich sein, da du ein Cron-Ereignis möglicherweise mehrmals ausführen musst.

Cron-Ereignis erfolgreich ausgeführt

Cron-Ereignis erfolgreich ausgeführt

Cron-Ereignis modifizieren

Du kannst vorhandene Cron-Ereignisse auch bearbeiten, indem du neben dem Aktionsnamen auf „Edit (Bearbeiten)“ klickst. Du kannst dann den Aktionsnamen, die Argumente, den nächsten Lauf und die geplante Wiederholung ändern. Sei vorsichtig damit, da viele Plugins darauf angewiesen sind, dass ihre Cron-Jobs ordnungsgemäß funktionieren.

Cron-Ereignis modifizieren

Cron-Ereignis modifizieren

Cron-Ereignis hinzufügen

Du kannst auch Cron-Ereignisse hinzufügen In diesem Beispiel fügen wir den WordPress Cron-Job für das Disqus-Plugin hinzu. Viele möchten dies möglicherweise tun, um die Synchronisierungshäufigkeit zu ändern, oder wenn Probleme bei der Synchronisierung von Kommentaren auftreten. Die Dokumentation jedes Drittanbieter-Plugin-Entwicklers sollte den Namen seines Cron-Ereignisses bzw. den Namen der Aktion enthalten. In diesem Fall wird vom Plugin “dsq_sync_forum” verwendet.

Haben Sie mit Ausfallzeiten und WordPress-Problemen zu kämpfen? Kinsta ist die Hosting-Lösung, die Ihnen Zeit spart! Sieh dir unsere Features an

Wenn du eine von Grund auf neu erstellst, benötigst du irgendwo in deinem Code einen entsprechenden Aktions-Hook, z. B. deine Datei functions.php. Dies ist das Beispiel, das WP-Crontrol gibt:

add_action( 'my_hookname', 'my_function' );

Der nächste Schritt ist das Schreiben deiner Funktion.

function my_function() {
    wp_mail( 'hello@example.com', 'WP Crontrol', 'WP Crontrol rocks!' );
}

Für Disqus fügen wir zuerst einen neuen Cron-Zeitplan von 600 Sekunden (10 Minuten) hinzu. Wir klicken dann auf „Add Cron Event (Cron-Ereignis hinzufügen)“ und geben „dsq_sync_forum“ als Aktionsnamen ein, wählen die nächste Laufzeit und die soeben erstellte 10-minütige Wiederholung. Dann klicken wir auf „Add Cron Event (Cron-Ereignis hinzufügen)“. Dies wird nun alle 10 Minuten automatisch ausgeführt, damit wir Disqus-Kommentare manuell wieder mit unserer WordPress-Database synchronisieren können.

WordPress Cron-Job hinzufügen

WordPress Cron-Job hinzufügen

Und das war’s auch schon! Es ist wirklich sehr einfach zu nutzen!

WP-Cron WP-CLI

Du kannst auch WP-Cron-Ereignisse und / oder einen WordPress Cron-Auftrag in WP-CLI verwalten. Mit dem folgenden Befehl erhältst beispielsweise deine aktuelle Cron-Ereignisliste.

wp cron event list

wp-cron event list

Schaue dir auch die offizielle WP-CLI-Dokumentation an, um weitere Befehle und Beispiele zu erhalten.

16
Mal geteilt