So erstellen und ändern Sie einen WordPress-Cron-Job

Rifat WordPress-Plugins Jul 4, 2023

Cron ist ein Dienstprogramm, das häufig in Unix-/Linux-Systemen verwendet wird, um Befehle oder Skripte auf einem Webserver zu planen, der im Hintergrund arbeitet. Ein Cron-Job bezieht sich auf eine bestimmte Aufgabe, deren Ausführung zu festgelegten Zeiten, Daten oder Intervallen geplant ist. Solche Aufgaben wiederholen sich oft und werden automatisiert, um die Effizienz zu steigern. Im Fall von WordPress wird die WP-Cron-Funktion verwendet, um einen System-Cron zu emulieren.

Beispiele für WordPress-Cron-Jobs können die Planung der Veröffentlichung eines Beitrags oder die Ausführung eines Backup-Plugins nach einem vordefinierten Zeitplan sein. Der Schwerpunkt dieser Diskussion liegt auf der Bereitstellung umfassender Anleitungen zum mühelosen Erstellen, Ändern und Ausführen eines WordPress-Cron-Jobs.

So richten Sie einen Cron-Job in WordPress ein

Es ist erwähnenswert, dass sich WP-Cron geringfügig von einem System-Cron unterscheidet und jeder seine eigenen Vor- und Nachteile hat. WP-Cron verlässt sich ausschließlich auf Intervalle, während ein System-Cron auf bestimmte Zeiten setzt. Darüber hinaus funktioniert WP-Cron nur, wenn die Seite geladen wird, unabhängig davon, ob es sich um das Back-End oder das Front-End handelt, was zu einer geringeren Zuverlässigkeit führen kann. Zu den von WordPress bereitgestellten Standardintervallen gehören stündliche, zweimal tägliche und tägliche Zeitpläne.

Um WP-Cron-Ereignisse zu planen, ist es notwendig, benutzerdefinierte Hooks zu erstellen. Wir empfehlen dringend, das offizielle WordPress-Plugin-Handbuch zu konsultieren, das eine hervorragende Anleitung zur Planung von WP-Cron-Events bietet. Wenn Sie nach einer alternativen Methode zum Konfigurieren eines System-Crons in WordPress suchen, empfehlen wir Ihnen, den Artikel von Tom Mcfarlin’ zum Definieren eines WordPress-Cron-Jobs zu lesen. Darüber hinaus werden wir für diejenigen, die vielleicht weniger Erfahrung haben, eine einfache Möglichkeit erkunden, WP-Cron in Verbindung mit dem beliebten kostenlosen WP Control -Plugin zu verwenden. Mit diesem Plugin können Sie die Aktivitäten innerhalb des WP-Cron-Systems überwachen und verwalten.

Erstellen Sie erstaunliche Websites

Mit dem besten kostenlosen Seite Builder Elementor

Jetzt anfangen

WP Crontrol verfügt über eine beeindruckende Anzahl aktiver Installationen von über 200.000, gepaart mit einer außergewöhnlichen Bewertung von 4,5 von 5. Innerhalb der WordPress-Community hat dieses Plugin große Bewunderung hervorgerufen.

Dieses Plugin bietet einen bemerkenswerten Nutzen, indem es einen umfassenden Überblick über die CRON-Jobs bietet, deren Ausführung geplant ist. Es dient als hervorragender erster Schritt zum Verständnis der zugrunde liegenden Prozesse und zur Bestimmung ihres Betriebsstatus. Diese Vorzüge haben zu einer einstimmigen Bewertung von 5 Sternen geführt. Darüber hinaus steigert die Möglichkeit, neue Cron-Jobs zu erstellen und die Ausführung vorhandener Jobs zu initiieren, den Wert weiter und rechtfertigt eine zusätzliche 5-Sterne-Bewertung, wie Josh, der Erfinder von Caldera Forms, bestätigt.

Um dieses Plugin zu erwerben, kann man es entweder direkt aus dem WordPress-Repository herunterladen oder es im WordPress-Dashboard im Abschnitt „Neue Plugins hinzufügen“ suchen. Zu den bemerkenswerten Funktionen von WP Control gehören:

  • Eine umfassende Anzeige aller Cron-Ereignisse, einschließlich ihrer jeweiligen Argumente, Wiederholungsmuster und bevorstehenden Ausführungszeiten.
  • Die Möglichkeit, Cron-Ereignisse zu ändern, zu entfernen oder sofort zu initiieren.
  • Die Bestimmung zur Einführung neuer Cron-Ereignisse.
  • Die Option zum Hinzufügen, Ändern und Entfernen benutzerdefinierter Cron-Zeitpläne.

WP-Cron-Zeitpläne

Nach der Aktivierung erhält der Benutzer die Möglichkeit, die WordPress-Cron-Job-Zeitpläne zu ändern, indem er in den Einstellungen seines WordPress-Dashboards auf den Abschnitt „Cron-Zeitpläne“ zugreift. Es ist wichtig zu beachten, dass das Plugin einen zusätzlichen Standardplan mit wöchentlicher Häufigkeit einführt. Darüber hinaus haben Benutzer die Möglichkeit, zusätzliche, in Sekunden gemessene Zeitpläne einzufügen, beispielsweise 21600 Sekunden, um Aufgaben alle 6 Stunden auszuführen.

Diese Intervalle können mithilfe eines Filters in den Code integriert werden, beispielhaft dargestellt durch die folgende Codezeile:

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-Events


Anschließend kann das Plugin auch genutzt werden, um die bereits eingeplanten WordPress-Cron-Jobs einzusehen. Um auf diese Funktion zuzugreifen, navigieren Sie zum Abschnitt „Cron-Ereignisse“ auf der Registerkarte „Tools“. Zahlreiche Aktionsnamen sind leicht identifizierbar, da von ihnen erwartet wird, dass sie bestimmten Teilen des Plugin-Namens entsprechen, beispielsweise „woocoomerce_cleanup_sessions“ oder „gravityforms_cron“.


Um eine sofortige Ausführung eines Cron-Ereignisses zu initiieren, kann man einfach auf die Option „Jetzt ausführen“ neben dem entsprechenden Aktionsnamen klicken. Diese Funktionalität erweist sich bei der Fehlerbehebung als vorteilhaft, insbesondere wenn ein Cron-Ereignis mehrmals ausgeführt werden muss.

Cron-Ereignis hinzufügen

Darüber hinaus haben Sie die Möglichkeit, Cron-Ereignisse in Ihr Setup einzubinden. In diesem Fall demonstrieren wir den Prozess des Hinzufügens eines WordPress-Cron-Jobs speziell für das Disqus-Plugin. Viele Personen möchten diese Aufgabe möglicherweise ausführen, um die Synchronisierungshäufigkeit zu ändern oder Probleme im Zusammenhang mit der Kommentarsynchronisierung zu lösen. Die von jedem Drittanbieter-Plugin-Entwickler bereitgestellte Dokumentation sollte den designierten Namen für sein Cron-Ereignis, oder mit anderen Worten, den Aktionsnamen, enthalten. Im Fall des Disqus-Plugins lautet der verwendete Aktionsname „dsq_sync_forum“.

Wenn Sie beabsichtigen, ein Cron-Ereignis von Grund auf zu erstellen, benötigen Sie einen entsprechenden Aktions-Hook in Ihrem Code, beispielsweise die Datei „functions.php“. Das folgende Beispiel mit freundlicher Genehmigung von WP-Crontrol veranschaulicht dieses Konzept:

add_action( 'my_hookname', 'my_function' );

Die nächste Funktion, die Sie schreiben werden, ist –

function my_function() {
    wp_mail( '[email protected]', 'WP Crontrol', 'WP Crontrol rocks!' );
}


Im Fall von Disqus besteht unser erster Schritt darin, einen neuen Cron-Zeitplan mit einer Dauer von 600 Sekunden (entspricht 10 Minuten) einzubinden. Anschließend greifen wir auf die Funktion „Cron-Ereignis hinzufügen“ zu, wo wir „dsq_sync_forum“ als festgelegten Aktionsnamen eingeben. Anschließend wählen wir den weiteren Ausführungszeitpunkt und entscheiden uns für das von uns neu festgelegte 10-Minuten-Intervall. Abschließend schließen wir den Vorgang ab, indem wir „Cron-Ereignis hinzufügen“ auswählen. Folglich gewährleistet dieses Verfahren eine automatisierte Wiederholung alle 10 Minuten und erleichtert so die manuelle Synchronisierung von Disqus-Kommentaren mit unserer WordPress-Datenbank.

Im Wesentlichen ist die Nutzung dieser Funktionalität unkompliziert und benutzerfreundlich.

Maisereignis ändern

Darüber hinaus ist es möglich, bereits vorhandene Cron-Ereignisse zu ändern, indem Sie die Option „Bearbeiten“ neben dem Aktionsnamen auswählen. Dadurch erhalten Sie die Möglichkeit, den Aktionsnamen, die Argumente, die nachfolgende Ausführung und die geplante Wiederholung zu ändern. Bei solchen Änderungen ist Vorsicht geboten, da zahlreiche Plugins für die ordnungsgemäße Funktionalität auf ihre Cron-Jobs angewiesen sind.

Fügen Sie einen Cron-Job mit cPanel hinzu

Wenn Sie Zugriff auf ein von Ihrem Webhost bereitgestelltes cPanel-Konto haben, können Sie das Control Panel verwenden, um Cron-Jobs einzurichten. Um dies zu erreichen, melden Sie sich bitte bei Ihrem cPanel-Konto an, navigieren Sie zum Abschnitt „Erweitert“ und wählen Sie anschließend „Cron-Jobs“ aus.

Die Einstellungsseite für Cron-Jobs bietet Optionen zum Konfigurieren und Einrichten neuer Cron-Job-Benachrichtigungen. Um einen Cron-Job einzubinden, scrollen Sie bitte nach unten zum Abschnitt „Neuen Cron-Job hinzufügen“.

In diesem Abschnitt haben Sie die Möglichkeit, die Häufigkeit des Befehls anzupassen.

Das Menü „Allgemeine Einstellungen“ umfasst verschiedene vorkonfigurierte Optionen, die von einer Häufigkeit von einmal pro Minute bis einmal pro Jahr reichen. Benutzer haben die Flexibilität, eine dieser Optionen auszuwählen oder alternativ die Felder unten anzupassen, indem sie einen personalisierten Wert eingeben.

Nachdem Sie die Häufigkeit des Cron-Jobs konfiguriert haben, können Sie den auszuführenden Befehl in das dafür vorgesehene Feld „Befehl“ eingeben. Um die Änderungen beizubehalten, speichern Sie den Cron-Job, indem Sie die Option „Neuen Cron-Job hinzufügen“ auswählen. Folglich wird der neu erstellte Cron-Job unter den unten auf der Seite aufgeführten aktuellen Cron-Jobs angezeigt.

Deaktivieren Sie WP-Cron

In bestimmten Fällen kann die Nutzung der WP-Cron-Funktion zu Komplikationen für Ihre Website führen. WP-Cron ist eine simulierte Version eines Cron-Jobs, dem der kontinuierliche Betrieb fehlt, der normalerweise mit solchen Jobs verbunden ist. Stattdessen führt WordPress bei jedem Laden einer Seite das Skript wp-cron.php aus.

Dieser Ansatz kann für Websites mit hohem Datenverkehr zu Herausforderungen führen, da erhebliche Ressourcen für die Ausführung von wp-cron.php bei jedem Seitenladevorgang bereitgestellt werden müssen. Wenn das Skript aufgrund von Seitenladevorgängen nicht ausgeführt werden kann, können auch geplante Befehle möglicherweise nicht ausgeführt werden, da wp-cron.php die Intervalle nicht aktiv überwacht.

Wenn Sie Probleme mit WP-Cron haben, haben Sie die Möglichkeit, diese Funktion zu deaktivieren, indem Sie den folgenden Code in die WordPress-Datei wp-config.php einbauen:

define('DISABLE_WP_CRON', true);

Sobald die Änderungen in der Datei gespeichert wurden, ist der Vorgang abgeschlossen. Wenn Sie sich jedoch für die Deaktivierung von WP-Cron entscheiden, müssen Sie eine alternative Lösung finden, indem Sie eine der in den vorherigen Abschnitten dieses Tutorials beschriebenen Methoden anwenden.

Zusammenfassung

Steigern Sie die Effizienz, senken Sie die Kosten und optimieren Sie gleichzeitig die Website-Funktionalität, indem Sie Integrationen der Enterprise-Klasse im Wert von 275 USD oder mehr nutzen, die nahtlos in jeden Managed WordPress-Plan integriert sind. Diese Integrationen umfassen ein leistungsstarkes Content Delivery Network (CDN), einen robusten Distributed Denial of Service (DDoS)-Schutz, umfassende Schutzmaßnahmen gegen Malware und Hacking-Versuche, effiziente Edge-Caching-Mechanismen und die schnellsten CPU-Maschinen von Google. Beginnen Sie Ihre Reise ohne langwierige Vertragsbindungen, profitieren Sie von geführten Migrationen und genießen Sie eine 30-tägige Geld-zurück-Garantie.

Divi WordPress Theme