So verwalten Sie WordPress Cron-Jobs

Veröffentlicht: 2021-05-14
WordPress-Crone
Folgen Sie @Cloudways

Viele WordPress-Entwickler, insbesondere Anfänger, haben eine häufige Frage „Was ist WordPress-Cron“ mit „Wie verwaltet man WordPress-Cron-Jobs?“ eine knappe Sekunde.

Die Antwort ist einfach: Verwenden Sie eine der Methoden zur Verwaltung von WordPress-Cronjobs, die ich in diesem Artikel skizzieren werde.

  • Was ist WordPress-Cron?
  • So verwalten Sie einen WordPress-Cron-Job
    • So verwalten Sie WordPress Cron-Jobs mit Plugin
      • Schritt 1: Installieren Sie das WP Control-Plugin
      • Schritt 2: Cron-Ereignisse anzeigen und verstehen
      • Schritt 3: Cron-Ereignis bearbeiten
      • Schritt 4: Hinzufügen eines benutzerdefinierten Zeitintervalls
      • Schritt 5: Hinzufügen eines neuen Cron-Ereignisses
    • So verwalten Sie WordPress Cron-Jobs mit WP CLI
  • So richten Sie einen echten Cron-Job ein

Cron ist ein Standard-UNIX-Dienstprogramm zum Planen der Aufgabenausführung (Skript oder Befehl) zu einer bestimmten Zeit, einem bestimmten Datum oder einem bestimmten Intervall. Die Aufgabe, die ausgeführt wird, wird als Cron-Job bezeichnet. Wie Sie sich vorstellen können, besteht der Zweck eines Cron-Jobs darin, sich wiederholende Aufgaben zu automatisieren, damit Sie Ihre Zeit produktiver nutzen können.

Der WordPress-Cron-Job unterscheidet sich jedoch geringfügig vom Standard-Cron, und deshalb müssen Sie, bevor Sie in Aktion und Prozess eintauchen, verstehen, was ein WordPress-Cron ist und wie er funktioniert.

Was ist WordPress-Cron?

WordPress verfügt über ein eigenes Cron-System zum Planen von Aufgaben wie der Suche nach Updates, dem Planen eines Beitrags zur Veröffentlichung und dem Löschen von Kommentaren aus dem Papierkorb. Alle Cron-Jobs werden von WP-Cron abgewickelt.

Während der Name (und die Hauptidee) von UNIX-Cron stammt, funktioniert WordPress-Cron nicht so und verwendet Intervalle für die Aufgabenplanung. Die von WordPress bereitgestellten Standardzeitintervalle sind stündlich, zweimal täglich, täglich und wöchentlich. Hier sind die zeitbasierten Aufgaben davon abhängig, dass Benutzer Ihre Website besuchen, was bedeutet, dass WordPress-Cron nur ausgeführt wird, wenn ein Benutzer Ihre Website besucht.

Mit anderen Worten, WordPress-Cron wird ausgeführt, wenn die Seite geladen wird. Manchmal ist dies nicht so zuverlässig, und deshalb bevorzugen viele Benutzer einen Cron-Job auf Serverebene gegenüber dem WP-Cron-Job.

In diesem Artikel zeige ich Ihnen, wie Sie WordPress-Cronjobs verwalten und einen echten Cronjob für Ihre WordPress-Site einrichten.

So verwalten Sie einen WordPress-Cron-Job

Es gibt viele Möglichkeiten, WordPress-Cronjobs einzurichten und zu verwalten, aber ich zeige Ihnen zwei beliebte Methoden.

Die erste verwendet ein Cron-Management-Plugin wie WP Crontrol, mit dem Sie WordPress-Cron-Jobs direkt über das WP-Dashboard hinzufügen, ändern und verwalten können. Sie können auch einen Cron-Job erstellen, Hooks und Funktionen erstellen und benutzerdefinierte Zeitintervalle für Aufgaben definieren.

Und die zweite Methode ist mit WordPress CLI.

So verwalten Sie WordPress Cron-Jobs mit Plugin

Ich werde das WP Crontrol-Plugin verwenden, mit dem Sie WordPress-Cron für Ihre WordPress-Anwendung anzeigen und steuern können. Es ist das beliebte Plugin zur Verarbeitung von WP-Cronjobs und verfügt über mehr als 100.000 aktive Installationen.
Dies ist die einfachste Methode zum Verwalten von WordPress-Cron-Jobs und Sie können WordPress-Cron-Ereignisse schnell anzeigen, bearbeiten, erstellen, löschen und vieles mehr tun.

Also lasst uns anfangen!

Schritt 1: Installieren Sie das WP Control-Plugin

Wie bei jedem anderen Plugin müssen Sie WP Crontrol aus dem Plugin-Repository installieren und aktivieren. Nach der Installation werden Sie feststellen, dass auf der Registerkarte Tools eine neue Option „Cron-Ereignisse“ angezeigt wird.

Cron-Ereignisse

Schritt 2: Cron-Ereignisse anzeigen und verstehen

Als nächstes müssen Sie auf Cron-Ereignisse klicken und Sie sehen eine Liste der Cron-Ereignisse, die in Ihrer WordPress-Anwendung ausgeführt werden.

Liste der Cron-Ereignisse

In diesem Abschnitt können Sie Ihre Cron-Ereignisse ausführen, bearbeiten und löschen. Sie sehen diese Option, wenn Sie mit der Maus über ein Cron-Ereignis fahren.

Sie finden auch nützliche Informationen zu diesen Cron-Jobs und können schnell erkennen, welcher Cron-Job für welchen Zweck verwendet wird und vieles mehr. In der ersten Spalte zeigt Hook den Namen des Hooks an, der vom WordPress-Kern oder einem beliebigen Plugin verwendet wird. Zum Beispiel zeigt das Präfix " wp " einfach an, dass es ein Cron des WordPress-Kerns ist. Sie werden auch feststellen, dass es keine Option zum Löschen dieser Cron-Ereignisse gibt, Sie können jedoch die Optionen zum Bearbeiten und Jetzt ausführen verwenden . In ähnlicher Weise werden Sie für Ihre Plugins feststellen, dass andere Präfixe verwendet werden (z. B. für WooCommerce, „wc“ oder „woocommerce“).

Die zweite Spalte Arguments enthält nur die Argumente, die an die Hook-Funktionen übergeben werden.

Die dritte Spalte zeigt an, wann dieser Cron-Job das nächste Mal ausgeführt wird.

Die vierte Spalte Aktion zeigt an, welche Aktion dieser Cron ausführen wird (die „Funktion“ des Cron-Jobs).
Die letzte Spalte definiert die Wiederholungszeiten der Cron-Jobs. Dies ist im Grunde das Zeitintervall für die geplante Aufgabe.

Schritt 3: Cron-Ereignis bearbeiten

Lassen Sie uns nun einen WP-Cron-Job bearbeiten, um dieses Plugin zu testen.

Zum einen Namen und klicken Sie bearbeiten den Haken. Es öffnet sich ein neuer Abschnitt „ Cron-Event bearbeiten “, in dem Sie verschiedene Felder sehen. In meinem Fall habe ich den Hook „wp_privacy_delete_old_export_files“ bearbeitet. Als Nächstes ändere ich die Wiederholung dieses Cron-Jobs in „Alle fünfzehn Minuten“.

Cron-Ereignisse bearbeiten

Schritt 4: Hinzufügen eines benutzerdefinierten Zeitintervalls

Als Nächstes zeige ich Ihnen, wie Sie ein benutzerdefiniertes Zeitintervall für Ihre Cron-Ereignisse hinzufügen. Klicken Sie dazu auf die Registerkarte „ Cron-Zeitplan “ und ein neuer Bildschirm wird angezeigt, in dem Sie die Details der geplanten Zeitintervalle sehen. Als nächstes scrollen Sie nach unten , wo Sie auf „Hinzufügen Cron Schedule“ sehen werden. Füllen Sie die Felder aus und klicken Sie auf Cron- Zeitplan hinzufügen .

Cron-Zeitplan hinzufügen

Beachten Sie, dass die Eingabe für das Intervall in Sekunden erfolgt. Ich werde 600 Sekunden verwenden, um das Intervall auf 10 Minuten einzustellen.

Jetzt können Sie Ihr Cron-Ereignis bearbeiten und durch Ihr eigenes benutzerdefiniertes Intervall ersetzen.

Cron-Ereignis bearbeiten

Schritt 5: Hinzufügen eines neuen Cron-Ereignisses

Jetzt wissen Sie, wie Sie die einfachen Aufgaben für Ihre Cron-Ereignisse verwalten, aber was ist, wenn Sie Ihren eigenen Cron-Job für Ihre WordPress-Anwendung hinzufügen möchten. Machen Sie sich keine Sorgen, es ist so einfach und alles, was Sie tun müssen, ist die folgenden Anweisungen zu befolgen.

Klicken Sie zuerst auf Cron Event hinzufügen und Sie gelangen in den Abschnitt Cron hinzufügen. Geben Sie dann nach Belieben einen Hook-Namen ein (sollte der normalen PHP-Namenskonvention folgen und keine Leerzeichen enthalten).

Fügen Sie dann Argumente hinzu (optional) und in meinem Fall ist es leer. Wählen Sie als Nächstes eine beliebige Option aus und geben Sie eine Zeit in das Feld Next Run ein. Wählen Sie zuletzt eine Wiederholungszeit (Zeitplan) für Ihren neuen Cron aus und klicken Sie auf Ereignis hinzufügen .

Cron-Ereignis hinzufügen

Wenn Sie diesbezüglich Fragen haben, können Sie die Einstellungen jedes laufenden Cron-Jobs in Ihren Cron-Ereignissen überprüfen.

Nachdem Sie einen neuen Cron-Job hinzugefügt haben, gehen Sie zur Registerkarte Cron- Ereignisse und überprüfen Sie Ihren neu erstellten Cron. Sie werden feststellen, dass in der Aktionsspalte None (Fehler) angezeigt wird. Dies liegt daran, dass Sie für diesen Cron-Job keine Aktionen definiert haben. Dazu müssen Sie einige Zeilen Code in die Datei functions.php des Themes schreiben und eine Aktion hinzufügen.

kein Fehler

Hinweis: Bevor Sie fortfahren, wird dringend empfohlen, die WordPress-Site zu sichern.

Lassen Sie uns die Datei öffnen und die folgenden Codezeilen direkt nach <?php hinzufügen:

 add_action( 'cloudways_new_cron', 'cw_function');
Funktion cw_function() {
wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - ein Managed Cloud Hosting!' );
}

Vergessen Sie nicht, meine E-Mail-Adresse durch Ihre eigene zu ersetzen.

Funktion PHP-E-Mail-Adresse
Sie können im obigen Bild sehen, dass ich es direkt mit dem WordPress-Dashboard bearbeitet habe. Wenn Sie möchten, können Sie diese Datei über einen FTP-Client wie FileZilla bearbeiten.

Als Nächstes überprüfen wir den E-Mail-Posteingang und sehen, ob wir die Nachricht erhalten.

Cron-E-Mail

Tada! Es ist vollbracht und wir haben erfolgreich ein neues Cron-Event hinzugefügt.

So verwalten Sie WordPress Cron-Jobs mit WP CLI

Sie können auch alle Ihre WordPress-Cron-Jobs über die WordPress-CLI anzeigen und verwalten. Bei Cloudways müssen Sie das Terminal starten und sich mit den Server-Zugangsdaten anmelden.

Geben Sie als Nächstes den Pfad Ihrer WordPress-Anwendung ein. In meinem Fall lautete die URL:

 CD-Anwendungen/urrghmpqks/public_html/ 

Cronjob WP CLI

Als nächstes müssen Sie diesen Befehl ausführen:

 wp cron-Ereignisliste 

Cronjob WP CLI

Sie können den Hook-Namen, die nächste Ausführungszeit, den nächsten Ausführungsrelativ und die Wiederholung (geplante Zeit) anzeigen.

So richten Sie einen echten Cron-Job ein

Jetzt wissen Sie, was WordPress-Cronjobs sind und wie er funktioniert. Was ist, wenn Sie es aus irgendeinem Grund durch einen echten Cron-Job ersetzen möchten, z. B. aus geringem Datenverkehr, wichtigen Aufgaben, die zu einem bestimmten Zeitpunkt ausgeführt werden müssen, übermäßigen DDoS-Angriffen oder hoher Seitenladezeit.

Also lasst uns anfangen!

Schritt 1: Öffnen und bearbeiten Sie die Datei wp-config.php

Zuerst müssen Sie die wp-config-Datei mit einem FTP-Client wie FileZilla oder einem SSH-Client wie puTTY öffnen. Bearbeiten Sie danach die Datei und platzieren Sie die folgende Codezeile vor der Zeile /* Das ist alles, beenden Sie die Bearbeitung! Viel Spaß beim Bloggen. */

Code:

 define('DISABLE_WP_CRON', true); 

wp-Konfigurationsdatei bearbeiten

Dieser Code deaktiviert die laufenden Cron-Ereignisse auf Ihrer WordPress-Site und Sie können jetzt einen echten Cron-Job erstellen.

Verwalten Sie echte Cron-Jobs über die Cloudways-Plattform

Beginnen Sie mit einer 3-tägigen kostenlosen Testversion

VERSUCH'S JETZT

Schritt 2: Hinzufügen eines neuen Cron-Jobs zum Server

Melden Sie sich als Nächstes bei Ihrer Cloudways-Plattform an und gehen Sie dann zum Bereich Anwendungsverwaltung > Cron- Auftragsverwaltung > Abschnitt Erweitert .

Hinzufügen eines neuen Cron-Jobs

Fügen Sie dann den folgenden Befehl hinzu und klicken Sie auf Änderungen speichern:
*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

erweiterter Cron-Tab

Im obigen Befehl habe ich zunächst ein Intervall von fünf Minuten für den Cron-Job definiert. Sie können diese Site verwenden, um den Zeitplanausdruck zu überprüfen. In meinem Fall ist */5 * * * * der Intervallausdruck.

Herzliche Glückwünsche! Sie haben erfolgreich einen echten Cron-Job hinzugefügt.

Letzte Worte!

Ich hoffe, dieser Artikel hat Ihnen geholfen zu verstehen, wie der WordPress-Cron-Job funktioniert. Ich habe zwei Methoden zum Verwalten von WordPress-Cronjobs besprochen; eines über ein Plugin und das andere über WP-CLI. Ich habe auch besprochen, wie man einen echten Cron-Job auf einem Live-Server einrichtet.

Wenn Sie Fragen haben, lassen Sie es mich bitte im Kommentarbereich unten wissen.