WP Crontrol


WP Crontrol gibt dir die Möglichkeit anzuzeigen, was im WP-Cron-System passiert, und lässt dich dieses verwalten. In der Admin-Ansicht kannst du:

  • Alle Cron-Ereignisse mit ihren Argumenten, Wiederholungen, Callback-Funktionen anzeigen und wann sie das nächste Mal ausgeführt werden sollen.
  • Alle Cron-Ereignisse bearbeiten, löschen und sofort ausführen.
  • Neue Cron-Ereignisse hinzufügen.
  • Cron-Ereignisse per Massenverarbeitung löschen.
  • Füge individuelle Cron-Zeitpläne hinzu und entferne sie.
  • Export cron event lists as a CSV file.

WP Crontrol is aware of timezones, will alert you to events that have no actions or that have missed their schedule, and will show you a warning message if your cron system doesn’t appear to be working (for example if your server can’t connect to itself to fire scheduled cron events).


  1. Gehe zum Menü Werkzeuge → Cron-Ereignisse, um Cron-Ereignisse zu verwalten.
  2. Gehe zum Menü Einstellungen → Cron-Zeitpläne, um Cron-Zeitpläne zu verwalten.

Other Plugins

I maintain several other plugins for developers. Check them out:

  • Query Monitor is the developer tools panel for WordPress.
  • User Switching provides instant switching between user accounts in WordPress.


  • Cron-Ereignisse können verändert, entfernt und ausgeführt werden

  • New cron events can be added

  • Neue Cron-Zeitpläne können hinzugefügt werden, um Plugin-Entwicklern mehr Optionen zu geben, Ereignisse zu planen


Does this plugin work with PHP 8?


I get the error „There was a problem spawning a call to the WP-Cron system on your site“. How do I fix this?

You can read all about problems spwaning WP-Cron here.

Why do some cron events miss their schedule?

You can read all about cron events that miss their schedule here.

Why do some cron events reappear shortly after I delete them?

If the event is added by a plugin then the plugin most likely rescheduled the event as soon as it saw that the event was missing. Unfortunately there’s nothing that WP Crontrol can do about this – you should contact the author of the related plugin and ask for advice.

Is it safe to delete cron events?

This depends entirely on the event. You can use your favourite search engine to search for the event name in order to find out which plugin it belongs to, and then decide whether or not to delete it.

If the event shows „None“ as its action then it’s usually safe to delete. Please see the other FAQs for more information about events with no action.

Why can’t I delete some cron events?

The WordPress core software uses cron events for some of its functionality and removing these events is not possible because WordPress would immediately reschedule them if you did delete them. For this reason, WP Crontrol doesn’t let you delete these persistent events from WordPress core in the first place.

What does it mean when „None“ is shown for the Action of a cron event?

This means the cron event is scheduled to run at the specified time but there is no corresponding functionality that will be triggered when the event runs, therefore the event is useless.

This is often caused by plugins that don’t clean up their cron events when you deactivate them. You can use your favourite search engine to search for the event name in order to find out which plugin it belongs to, and then decide whether or not to delete it.

How do I change the next run time or the recurrence of a cron event?

You can change the time and recurrence of a cron event by clicking the „Edit“ link next to the event.

Wie kann ich ein Cron-Event erstellen, welches eine URL ansteuert?

From the Tools → Cron Events → Add New screen, create a PHP cron event that includes PHP that fetches the URL using the WordPress HTTP API. For example:

wp_remote_get( 'http://example.com' );

Please see the „Which users can manage PHP cron events?“ FAQ for information about which users can create PHP cron events.

Warum werden Änderungen, die ich an Cron-Events mache, nicht gespeichert?

You can read all about problems with editing cron events here.

Can I export a list of cron events?

Yes, a CSV file of the event list can be exported via the „Export“ button on the cron event listing screen. This file can be opened in any spreadsheet application.

Kann ich ein historisches Protokoll aller Cron-Events sehen, die auf meiner Website gelaufen sind?

Not yet, but I hope to add this functionality soon.

Can I see a historical log of edits, additions, and deletions of cron events and schedules?

Yes. The excellent Simple History plugin has built-in support for logging actions performed via WP Crontrol.

Was ist der Sinn hinter dem Hinzufügen von neuen Cron-Zeitplänen?

Cron-Zeitplöne werden von WordPress und Plugins benutzt, um Ereignisse zu planen, die in normalen Intervallen ausgeführt werden. Intervalle müssen vom WordPress-Core oder von einem Plugin bereitgestellt werden, um benutzt werden zu können. Als Beispiel bieten viele Sicherungs-Plugins Unterstützung für periodische Sicherungen an. Um eine wöchentliche Sicherung zu erstellen, muss ein wöchentlicher Zeitplan zuerst in WP Crontrol hinzugefügt werden, damit ein Sicherungs-Plugin diesen Zeitplan als Intervall benutzen kann.

Wie erstelle ich ein neues Cron-Ereignis?

Es sind zwei Schritte erforderlich, um ein funktionierendes Cron-Ereignis zu erhalten, das regelmäßig ausgeführt wird. Der erste Schritt besteht darin, WordPress den Hook mitzuteilen. Das ist der Teil, für den WP Crontrol erstellt wurde. Der zweite Schritt ist, eine Funktion auszuführen, wenn dein Hook ausgeführt wird.

Schritt Eins: Den Hook hinzufügen

Klicke im Adminbereich unter Werkzeuge → Cron-Ereignisse auf „Cron-Ereignis hinzufügen“, um die Details zum Hook einzutragen. Am besten ist es, wenn der Hook-Name den normalen PHP-Variablen-Regeln entspricht. Der Ereignis-Zeitplan steht dafür, wie oft dein Hook ausgeführt werden wird. Wenn du kein passendes Intervall siehst, dann füge eins im Adminbereich unter Einstellungen → Cron-Zeitpläne hinzu.

Schritt Zwei: Schreiben der Funktion

Dieser Teil muss in den PHP-Code (beispielsweise in der functions.php deines Themes). Um deinen Hook auszuführen, führt WordPress eine Action aus. Aus diesem Grund müssen wir WordPress sagen, welche Funktion ausgeführt werden soll, wenn diese Action läuft. Die folgende Zeile erledigt das:

add_action( 'my_hookname', 'my_function' );

Der nächste Schritt ist das Schreiben deiner Funktion. Hier gibt es ein einfaches Beispiel:

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

Wie erstelle ich ein neues PHP-Cron-Ereignis?

Klicke im Adminbereich unter Werkzeuge → Cron-Ereignisse auf „PHP-Cron-Ereignis hinzufügen“. Gib den Zeitplan und die nächste Ausführungszeit in den Boxen an, die sich in dem dort angezeigten Formular befinden. Der Ereignis-Zeitplan gibt an, wie oft dein Ereignis ausgeführt werden wird. Wenn du kein passendes Intervall siehst, dann füge eins im Adminbereich unter Einstellungen → Cron-Zeitpläne hinzu. Gib den PHP-Code im Bereich „Hook-Code“ ein, den du ausführen willst, wenn dein Cron-Ereignis ausgeführt wird. Du musst keinen öffnenden PHP-Tag (<?php) angeben.

Please see the „Which users can manage PHP cron events?“ FAQ for information about which users can create PHP cron events.

Welche Benutzer können Cron-Ereignisse und -Zeitpläne verwalten?

Nur Benutzer mit der manage_options-Berechtigung können Cron-Ereignisse und -Zeitpläne verwalten. Standardmäßig haben nur Administratoren diese Berechtigung.

Welche Benutzer können PHP-Cron-Ereignisse verwalten? Ist das gefährlich?

Nur Benutzer mit der Berechtigung edit_files können PHP-Cron-Ereignisse verwalten. Das heißt, wenn ein Benutzer keine Dateien auf der Website bearbeiten darf (z. B. durch den Plugin- oder Theme-Editor), kann er auch keine PHP-Cron-Ereignisse bearbeiten oder hinzufügen. Standardmäßig haben nur Administratoren diese Berechtigung und bei aktiver Multisite haben nur Super-Administratoren diese Berechtigung.

Wenn die Dateibearbeitung über die Konfigurations-Konstanten DISALLOW_FILE_MODS oder DISALLOW_FILE_EDIT deaktiviert wurden, hat kein Benutzer die Berechtigung edit_files, wodurch das Bearbeiten oder Hinzufügen eines PHP-Cron-Ereignisses nicht erlaubt ist.

Deshalb ändert sich die erforderliche Berechtigung mit aktiviertem WP Crontrol nicht, um beliebigen PHP-Code auszuführen.

Sind irgendwelche WP-CLI-Befehle verfügbar?

Die Cron-Befehle, die vormals ein Teil von WP Crontrol waren, sind nun Teil der WP-CLI (seit 0.16), sodass dieses Plugin nicht länger WP-CLI-Befehle bereitstellt. Siehe wp help cron für weitere Informationen.

Who took the photo in the plugin header image?

The photo was taken by Michael Pardo and is in the public domain.


25. Juli 2021
Thank you - Thank you - Thank you. I am in the middle of starting my own little business just to keep me busy as a semi retired person in France. While testing, The last thing you want is to scratch your head for 8hrs trying to figure and wonder why your contact forms or news-letters are not are not sending on time. (visitor onload) Fresh website not enough traffic yet, and yes why would there be its still being constructed. I am going to set a server cron but leave wordpress cron active, I now realise thanks to this share resource why.. 🙂 Andrew
12. Juli 2021
WP Crontrol opens a view into the otherwise hidden WP Cron system, which is sometimes very helpful, especially in connection with notes in Site Health. Many thanks to the developers for sharing.
9. Juli 2021
Extremely useful plugin, thank you for sharing this with the community.
20. Juni 2021
Makes my life so much easier. I need to deal with a lot of cron jobs (Woocommerce mainly) and I need to be aware of the WordPress cron tasks.
Alle 103 Rezensionen lesen

Mitwirkende & Entwickler

„WP Crontrol“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:


„WP Crontrol“ wurde in 16 Sprachen übersetzt. Danke an die Übersetzerinnen und Übersetzer für ihre Mitwirkung.

Übersetze „WP Crontrol“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN Repository an oder abonniere das Entwicklungsprotokoll per RSS.



  • Introduced an Export feature to the event listing screen for exporting the list of events as a CSV file.
  • Added the timezone offset to the date displayed for events that are due to run after the next DST change, for extra clarity.
  • Introduced the crontrol/filter-types and crontrol/filtered-events filters for adjusting the available event filters on the event listing screen.
  • Lots of code quality improvements (thanks, PHPStan!).


  • Support for more granular cron-related error messages in WordPress 5.7
  • Several accessibility improvements
  • Warning for events that are attached to a schedule that is too frequent
  • More clarity around events and schedules that are built in to WordPress core
  • Add a Help tab with links to the wiki and FAQs


  • Fix the adding of new cron events when DISALLOW_FILE_EDIT is true.


  • Add filters and sorting to the event listing screen. Props @yuriipavlov.
  • Replace the „Add New“ tabs with a more standard „Add New“ button on the cron event listing page.
  • Switch back to using browser-native controls for the date and time inputs.
  • Add an error message when trying to edit a non-existent event.
  • Introduce an informational message which appears when there are events that have missed their schedule.
  • Fire actions when cron events and schedules are added, updated, and deleted.


  • Ein Problem mit den Tabs in 1.8.4 wurde behoben.


  • Fügt eine Warnmeldung hinzu, wenn die Standard-Zeitzone geändert wurde. Weitere Informationen (engl.).
  • Es wurde ein Fehler behoben, bei dem eine Zeichenfolge an die Funktion strtotime() übergeben wurde, wenn die Option Jetzt beim Hinzufügen oder Bearbeiten eines Ereignisses ausgewählt wurde.


  • Das Bearbeiten von Ereignissen, die aktuell nicht auf der ersten Seite der Ergebnisse aufgelistet werden, ist korrigiert.


  • Umgeht die Prüfung auf ein identisches Ereignis, wenn es manuell ausgeführt wird. Das erlaubt das manuelle Ausführen eines Ereignisses auch, wenn es innerhalb der nächsten zehn Minuten ausgeführt werden soll oder überfällig ist.
  • Erzwinge das Ausführen nur eines Ereignisses, wenn ein Cron-Event manuell ausgeführt werden soll.
  • Polling der Ereignis-Liste wurde hinzugefügt, um eine Warnung hinzuzufügen, wenn die Ansicht der Ereignis-Liste veraltet ist.
  • Eine Warnung für Cron-Zeitpläne ist hinzugefügt, die kürzer als WP_CRON_LOCK_TIMEOUT sind.
  • Die Prüfung für den Website-Zustand ist zur Liste der persistenten Core-Hooks hinzugefügt.


  • Behebt das untere Massenverarbeitungsmenü in der Ereignis-Listenansicht.
  • Macht die Zeitzone prominenter beim Hinzufügen oder Bearbeiten eines Cron-Ereignisses.


  • Durchsuchen und Seitennummerierung für Cron-Ereignisse
  • Möglichkeit zum Entfernen aller Cron-Ereignisse eines bestimmten Hooks
  • Genauere Antwort-Nachrichten, wenn Ereignisse verwaltet werden (in WordPress 5.1+)
  • Visuelle Warnungen für Ereignisse ohne Actions und PHP-Ereignisse mit Syntax-Fehlern
  • Zeitzonenbezogene Klarstellungen und Korrekturen
  • Eine einheitlichere UI
  • Code-Basis modernisiert


  • Die URL zu PHP.net für die Referenz von strtotime() korrigiert.


  • Entfernt die Eingabefelder für date und time und ersetzt sie mit einigen Vorauswahl-Optionen und einem reinen Textfeld. Korrigiert #24 .
  • Stelle sicher, dass der Zeitplan-Name ist immer korrekt, wenn mehrere Zeitpläne mit demselben Intervall existieren. Fehlerbehandlung hinzugefügt. Korrigiert #25.
  • Die Anzeige der aktuellen Website-Zeit wurde wieder eingeführt.
  • Benutzt einen passenderen HTTP-Antwort-Code für nicht autorisierte Anfrage-Fehler.


  • Entfernt die Möglichkeit, ein PHP-Cron-Ereignis zu löschen, wenn der Benutzer keine Dateien bearbeiten kann.
  • Entfernt den Bearbeiten-Link für PHP-Cron-Ereignisse, wenn der Benutzer das Ereignis nicht bearbeiten kann.
  • Verhindere einen PHP-Hinweis aufgrund einer undefinierten Variable beim Hinzufügen eines neuen Cron-Ereignisses.


  • Behebt einen potenziellen fatalen Fehler in der Ansicht der Cron-Ereignis-Liste.


  • Massenentfernung von Cron-Ereignissen eingeführt. Juhu!
  • Zeigt den Zeitplan-Namen anstatt des Zeitplan-Intervalls neben jedem Ereignis an.
  • Fügt das neue Cor-Ereignis delete_expired_transients zur Liste der Core-Ereignisse hinzu.
  • Verhindere das Entfernen von individuellen Cron-Zeitplänen, wenn diese benutzt werden.
  • Fügt Links zwischen den Ereignissen- und Zeitplan-Admin-Ansichten hinzu.
  • Fügt Syntax-Hervorhebung zum PHP-Code-Editor für PHP-Cron-Ereignisse hinzu.
  • Darstellungskorrekturen für Ereignisse mit vielen oder langen Argumenten.
  • Verbesserungen am Hilfe-Text.
  • Benutzung von create_function() entfernt.
  • Behebt einige Übersetzer-Kommentare, verbessert i18n, verbessert Coding-Standards.


  • Zeige die eingehängten Aktionen für jedes Cron-Ereignis.
  • Zeigt den Entfernen-Link für die im Core integrierten Cron-Ereignisse nicht an, da diese sofort erneut hinzugefügt werden.
  • Erfolgsnachricht nach dem Hinzufügen oder Bearbeiten eines PHP-Cron-Ereignisses korrigiert.
  • Name des Übersetzungsverzeichnis korrigiert.


  • Wechsle die erforderliche Angabe des Cron-Ereigniszeitpunkts in der lokalen Website-Zeitzone anstatt in UTC.
  • Fügt die Möglichkeit für PHP-Cron-Ereignisse hinzu, einen optionalen Anzeigenamen anzugeben.
  • Bessere UX für Benutzer, die Dateien nicht bearbeiten können und deshalb keine PHP-Cron-Ereignisse hinzufügen oder bearbeiten können.
  • Verbesserungen bezüglich der Terminologie und i18n.


  • Zeige eine weniger beängstigend aussehende Nachricht an, wenn DISABLE_WP_CRON definiert ist.
  • Korrigiert den Beispiel-Code für Cron-Ereignis-Argumente.


  • Verbesserungen an der UI.
  • Weitere Fehlererkennungen, wenn die WP-Cron-Funktionalität getestet wird.
  • Überprüfung der Berechtigungen auf Einzel-Websites und Multisites verbessert.
  • Viele Maskierungen und Säuberungen.
  • Verschiedene Fehler behoben, wenn mehrere Ereignisse denselben Hook-Namen haben.
  • WP-CLI-Befehle entfernt, da sie nun im Core von WP-CLI hinzugefügt wurden (siehe wp help cron für weitere Informationen)


  • Optimierungen bezüglich i18n und Datums- und Argumenten-Formatierung
  • Korrektes Maskieren der Abfrage-Variable crontrol_message (Danke an Julio Potier)


  • Die WP-CLI-Befehle wp crontrol run-event und wp crontrol delete-event wurden hinzugefügt
  • Sprache bezüglich Hooks/Einträgen/Ereignissen klarer formuliert


  • Anzeige der Lokalzeit bei der Auflistung von Cron-Ereignissen korrigiert
  • Ein PHP-Hinweis entfernt
  • Leite den Ausführungstest für WP-Cron durch denselben Filter wie die eigentliche Ausführung


  • Unterstützung für WP-CLI hinzugefügt
  • PHP4-Code entfernt, der nicht mehr relevant ist


  • Fehlerbehebung für das Ausführen von Cron-Ereignissen und Hinzufügen von Cron-Zeitplänen
  • Ein Test beim Aufruf von Crons wurde hinzugefügt, um auf Fehler beim Aufruf eines Crons zu testen
  • Mehrere kleine Optimierungen
  • Kompatibilität zu WordPress 3.4


  • Eingabe von PHP-Code für Cron-Ereignisse
  • Nicht-wiederholende Cron-Ereignisse
  • Behandelt Cron-Ereignisse mit Argumenten


  • Internationalisierung
  • Bearbeiten/Löschen/Ausführen von Cron-Ereignissen
  • Mehr Text, Statusnachrichten etc.
  • Erlaube einem Benutzer, ein geplantes Ereignis auf menschliche Art und Weise einzugeben
  • Sieht in WordPress 2.5 besser aus


  • Der Code wurde vollständig dokumentiert.
  • Behebt einen Fehler, wodurch die Aktivierungsaktion nicht ausgeführt wird, wenn das Plugin nicht in einem Unterverzeichnis lag.
  • Arbeitet nun problemlos auch wenn andere Plugins zusätzliche Cron-Zeitpläne hinzufügen.
  • Kleinere kosmetische Korrekturen.


  • Super minimal, schau dir die WP-Cron-Funktionalität an.