Cron ist ein standardmäßiges UNIX-Dienstprogramm zur Planung der Ausführung von Aufgaben (Skripte oder Befehle) zu einem bestimmten Zeitpunkt, Datum oder Intervall. Die Aufgabe, die es ausführt, wird als Cron-Job bezeichnet. Wie Sie sich denken 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 von einem Standard-Cron-Job, und deshalb müssen Sie, bevor Sie in die Handlung und den Prozess eintauchen, verstehen, was ein WordPress-Cron ist und wie er funktioniert.
- Was ist WordPress Cron?
- Wie man einen WordPress-Cron-Job verwaltet
- Wie man WordPress Cron-Jobs mit Plugin verwaltet
- Schritt 1: Installieren Sie das WP Control Plugin
- Schritt 2: Cron Events ansehen und verstehen
- Schritt 3: Cron Event bearbeiten
- Schritt 4: Hinzufügen eines benutzerdefinierten Zeitintervalls
- Schritt 5: Hinzufügen eines neuen Cron-Ereignisses
- Wie man WordPress-Cron-Jobs mit WP CLI verwaltet
- Wie man einen echten Cron Job einrichtet
- Schritt 1:Öffnen und Bearbeiten der Datei wp-config.php
- Schritt 2: Hinzufügen eines neuen Cron-Jobs zum Server
- Schlusswort!
Was ist WordPress Cron?
WordPress hat sein eigenes Cron-System für die Planung von Aufgaben wie die Überprüfung auf Updates, die Planung eines Beitrags zur Veröffentlichung und das Löschen von Kommentaren aus dem Papierkorb. Alle Cron-Jobs werden von WP-Cron verwaltet.
Während der Name (und die Grundidee) von UNIX cron stammt, arbeitet WP-Cron nicht so und verwendet Intervalle für die Aufgabenplanung. Die von WordPress vorgegebenen Zeitintervalle sind stündlich, zweimal täglich, täglich und wöchentlich. Hier sind die zeitbasierten Aufgaben vom Besuch der Benutzer auf Ihrer Website abhängig, was bedeutet, dass WP-Cron nur ausgeführt wird, wenn ein Benutzer Ihre Website besucht.
Mit anderen Worten, WP-Cron wird ausgeführt, wenn die Seite geladen wird. Manchmal ist das nicht so zuverlässig, und deshalb ziehen viele Benutzer einen Cron-Job auf Serverebene dem WP-Cron-Job vor.
In diesem Artikel zeige ich Ihnen, wie Sie WordPress-Cron-Jobs verwalten und einen echten Cron-Job für Ihre WordPress-Website einrichten können.
Wie man einen WordPress-Cron-Job verwaltet
Es gibt viele Möglichkeiten, WordPress-Cron-Jobs 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 vom WP-Dashboard aus 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.
Wie man WordPress Cron-Jobs mit Plugin verwaltet
Ich werde WP Crontrol Plugin verwenden, das Ihnen erlaubt, WP Cron-Jobs für Ihre WordPress-Anwendung zu sehen und zu kontrollieren. Es ist das beliebteste Plugin zur Verwaltung von WP-Cron-Jobs und hat mehr als 100.000 aktive Installationen.
Dies ist die einfachste Methode zur Verwaltung von WordPress-Cron-Jobs und Sie können schnell anzeigen, bearbeiten, erstellen, löschen und können viel mehr mit WP-Cron-Ereignissen tun.
Legen wir also los!
Schritt 1: Installieren Sie das WP Control Plugin
Wie jedes andere Plugin auch, müssen Sie WP Crontrol aus dem Plugin-Repository installieren und es aktivieren. Sobald es installiert ist, werden Sie feststellen, dass eine neue Option „Cron Events“ in der Registerkarte „Tools“ erschienen ist.
Schritt 2: Cron Events ansehen und verstehen
Als Nächstes müssen Sie auf Cron Events klicken und Sie werden eine Liste der Cron Events sehen, die auf Ihrer WordPress-Anwendung laufen.
Von diesem Abschnitt aus können Sie Ihre Cron Events ausführen, bearbeiten und löschen. Sie sehen diese Option, wenn Sie mit der Maus über ein beliebiges Cron-Ereignis fahren.
Sie finden auch nützliche Informationen über diese Cron-Jobs und können schnell feststellen, welcher Cron-Job für welchen Zweck verwendet wird und vieles mehr. In der ersten Spalte „Hook“ wird der Name des Hooks angezeigt, der vom WordPress-Kern oder einem Plugin verwendet wird. Zum Beispiel zeigt das Präfix „wp“ einfach an, dass es sich um einen Cron-Job des WordPress-Kerns handelt. Sie werden auch feststellen, dass es keine Möglichkeit gibt, diese Cron-Ereignisse zu löschen, aber Sie können die Optionen Bearbeiten und Jetzt ausführen verwenden. In ähnlicher Weise werden Sie feststellen, dass für Ihre Plugins 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 werden soll.
Die vierte Spalte Action zeigt an, welche Aktion dieser Cron-Job ausführen soll (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 Event bearbeiten
Bearbeiten wir nun einen WP-Cron-Job, um dieses Plugin zu testen.
Gehen Sie auf den Namen eines Hooks und klicken Sie auf „Bearbeiten“. Es öffnet sich ein neuer Abschnitt „Edit Cron Event“, in dem Sie verschiedene Felder sehen werden. In meinem Fall habe ich den Hook „wp_privacy_delete_old_export_files“ bearbeitet. Als nächstes ändere ich die Wiederholung dieses Cron-Jobs auf „Alle fünfzehn Minuten“.
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 können. Klicken Sie dazu auf die Registerkarte „Cron Schedule“ und es erscheint ein neuer Bildschirm, auf dem Sie die Details der geplanten Zeitintervalle sehen. Scrollen Sie dann zum unteren Rand, wo Sie „Cron-Zeitplan hinzufügen“ sehen. Füllen Sie die Felder aus und klicken Sie auf „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 zu setzen.
Jetzt können Sie Ihr Cron-Ereignis bearbeiten und es durch Ihr eigenes benutzerdefiniertes Intervall ersetzen.
Schritt 5: Hinzufügen eines neuen Cron-Ereignisses
Jetzt wissen Sie, wie Sie die einfachen Aufgaben für Ihre Cron-Ereignisse verwalten können, aber was ist, wenn Sie Ihren eigenen Cron-Job für Ihre WordPress-Anwendung hinzufügen möchten. Keine Sorge, es ist ganz einfach und Sie müssen nur die folgenden Anweisungen befolgen.
Zuerst klicken Sie auf Cron-Event hinzufügen und Sie gelangen in den Abschnitt Cron hinzufügen. Dann geben Sie einfach einen Hook-Namen ein (sollte der normalen PHP-Namenskonvention folgen und keine Leerzeichen enthalten).
Dann fügen Sie Argumente hinzu (optional) und in meinem Fall ist es leer. Als Nächstes wählen Sie eine beliebige Option und geben eine Zeit in das Feld Nächste Ausführung ein. Zuletzt wählen Sie eine Wiederholungszeit (Zeitplan) für Ihren neuen Cron-Job und klicken Sie auf Ereignis hinzufügen.
Wenn Sie Fragen dazu haben, können Sie die Einstellungen jedes laufenden Cron-Jobs in Ihren Cron-Ereignissen überprüfen.
Nach dem Hinzufügen eines neuen Cron-Jobs gehen Sie auf die Registerkarte Cron-Ereignisse und überprüfen Sie Ihren neu erstellten Cron-Job. Sie werden feststellen, dass in der Spalte „Aktion“ „Keine“ (Fehler) angezeigt wird. Das liegt daran, dass Sie keine Aktionen für diesen Cron-Job definiert haben. Daher müssen Sie ein paar Zeilen Code in die functions.php-Datei des Themes schreiben und eine Aktion hinzufügen.
Hinweis: Bevor Sie fortfahren, ist es sehr empfehlenswert, ein Backup der WordPress-Website zu erstellen.
Öffnen Sie die Datei und fügen Sie die folgenden Codezeilen direkt nach <?php ein:
add_action( 'cloudways_new_cron', 'cw_function' );function cw_function() {wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - a Managed Cloud Hosting!' );}
Vergessen Sie nicht, meine E-Mail-Adresse durch Ihre eigene zu ersetzen.
Wie Sie im obigen Bild sehen können, habe ich sie direkt mit dem WordPress-Dashboard bearbeitet. Wenn Sie möchten, können Sie diese Datei auch mit einem FTP-Client wie FileZilla bearbeiten.
Als Nächstes überprüfen wir den E-Mail-Posteingang und sehen nach, ob wir die Nachricht erhalten.
Tada! Es ist geschafft und wir haben erfolgreich ein neues Cron-Ereignis hinzugefügt.
Wie man WordPress-Cron-Jobs mit WP CLI verwaltet
Sie können alle Ihre WordPress-Cron-Jobs auch über WordPress CLI anzeigen und verwalten. Bei Cloudways müssen Sie das Terminal starten und sich mit den Server-Zugangsdaten anmelden.
Als Nächstes geben Sie den Pfad zu Ihrer WordPress-Anwendung ein. In meinem Fall war die URL :
cd applications/urrghmpqks/public_html/
Nächste müssen Sie diesen Befehl ausführen:
wp cron event list
Sie können den Hook-Namen, die nächste Ausführungszeit, die nächste relative Ausführungszeit und die Wiederholung (geplante Zeit) sehen.
Wie man einen echten Cron Job einrichtet
Nun wissen Sie, was ein WordPress Cron Job ist und wie er funktioniert. Was aber, wenn Sie ihn durch einen echten Cron-Job ersetzen möchten, z. B. wegen geringer Besucherzahlen, wichtiger Aufgaben, die zu einer bestimmten Zeit ausgeführt werden müssen, übermäßiger DDoS-Angriffe oder hoher Seitenladezeiten?
Legen wir also los!
Schritt 1:Öffnen und Bearbeiten der Datei wp-config.php
Zunächst müssen Sie die Datei wp-config mit einem FTP-Client wie FileZilla oder einem SSH-Client wie puTTY öffnen. Danach bearbeiten Sie die Datei und fügen die folgende Codezeile vor der Zeile ein, in der es heißt /* Das ist alles, hören Sie auf zu bearbeiten! Viel Spaß beim Bloggen. */
Code:
define('DISABLE_WP_CRON', true);
Dieser Code deaktiviert die laufenden Cron-Ereignisse auf Ihrer WordPress-Website und Sie können nun einen echten Cron-Job erstellen.
Schritt 2: Hinzufügen eines neuen Cron-Jobs zum Server
Nächste Schritte: Melden Sie sich bei Ihrer Cloudways-Plattform an und gehen Sie dann zum Anwendungsmanagement-Panel > Cron-Job-Verwaltung > Abschnitt Erweitert.
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
Im obigen Befehl habe ich zunächst ein Intervall von fünf Minuten für den Cron-Job festgelegt. Sie können diese Website verwenden, um den Zeitplanausdruck zu überprüfen. In meinem Fall ist */5 * * * *
der Ausdruck für das Intervall.
Glückwunsch! Sie haben erfolgreich einen echten Cron-Job hinzugefügt.
Schlusswort!
Ich hoffe, dieser Artikel hat Ihnen geholfen zu verstehen, wie WordPress-Cron-Jobs funktionieren. Ich habe zwei Methoden zur Verwaltung von WordPress-Cron-Jobs besprochen; eine über ein Plugin und die andere über WP-CLI. Ich habe auch besprochen, wie man einen echten Cron-Job auf einem Live-Server einrichtet.