WP Crontrol

Beschreibung

WP Crontrol enables you to take control of the cron events on your WordPress website. From the admin screens you can:

  • View all cron events along with their arguments, schedule, callback functions, and when they are next due.
  • Edit, delete, pause, resume, and immediately run cron events.
  • Neue Cron-Ereignisse hinzufügen.
  • Cron-Ereignisse per Massenverarbeitung löschen.
  • Füge individuelle Cron-Zeitpläne hinzu und entferne sie.
  • Export and download 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 helpful warning message if it detects any problems with your cron system.

Nutzung

  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.

Privacy Statement

WP Crontrol is private by default and always will be. It does not send data to any third party, nor does it include any third party resources. WP Crontrol’s full privacy statement can be found here.

Accessibility Statement

WP Crontrol aims to be fully accessible to all of its users. WP Crontrol’s full accessibility statement can be found here.

Screenshots

  • 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

FAQ

Does this plugin work with PHP 8?

Yes, it’s actively tested and working up to PHP 8.3.

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 spawning WP-Cron on the WP Crontrol website.

Why do some cron events miss their schedule?

You can read all about cron events that miss their schedule on the WP Crontrol website.

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. To get around this you can instead use the „Pause this hook“ action which means it’ll remain in place but won’t perform any action when it runs.

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.

If you don’t want these events to run, you can use the „Pause this hook“ action instead.

What happens when I pause an event?

Pausing an event will disable all actions attached to the event’s hook. The event itself will remain in place and will run according to its schedule, but all actions attached to its hook will be disabled. This renders the event inoperative but keeps it scheduled so as to remain fully compatible with events which would otherwise get automatically rescheduled when they’re missing.

As pausing an event actually pauses its hook, all events that use the same hook will be paused or resumed when pausing and resuming an event. This is much more useful and reliable than pausing individual events separately.

What happens when I resume an event?

Resuming an event re-enables all actions attached to the event’s hook. All events that use the same hook will be resumed.

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 schedule of a cron event?

You can change the time and schedule 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 menu, click on Add New Cron Event. Select the „URL cron event“ option, fill out the details, and press the „Add Event“ button.

You can read all about the features and security of URL cron events on the WP Crontrol website.

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

You can read all about problems with editing cron events on the WP Crontrol website.

Can I export a list of cron events?

Yes, a CSV file of the event list can be exported and downloaded 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.

Step One: Adding the event

From the Tools Cron Events menu, click on Add New Cron Event. Fill out the details of the event. You’re best off using a hook name that conforms to normal PHP variable naming conventions. The schedule is how often the event will be executed. If you don’t see a good interval, then add one in the Settings Cron Schedules menu.

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?

From the Tools Cron Events menu, click on „Add New Cron Event“. Select the „PHP cron event“ option and enter the schedule and next run time. The event schedule is how often your event will be executed. If you don’t see a good interval, then add one in the Settings Cron Schedules menu. In the „PHP Code“ area, enter the PHP code that should be run when your cron event is executed. You don’t need to provide the PHP opening tag (<?php).

Creating, editing, and running PHP cron events is subject to restrictive security permissions. You can read all about the features and security of PHP cron events on the WP Crontrol website.

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 im WordPress-Adminbereich bearbeiten darf (d. h. durch den Plugin- oder Theme-Editor), kann er auch keine PHP-Cron-Ereignisse in WP Crontrol hinzufügen, bearbeiten oder löschen. 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 Hinzufügen, Bearbeiten oder Löschen eines PHP-Cron-Ereignisses nicht erlaubt ist.

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

You can read all about the features and security of PHP cron events on the WP Crontrol website.

Sind irgendwelche WP-CLI-Befehle verfügbar?

The cron commands which were previously included in WP Crontrol are now part of WP-CLI itself. See wp help cron for more info.

What happens when I deactivate the WP Crontrol plugin?

You can read all about what happens when you deactivate the plugin on the WP Crontrol website.

How can I report a security bug?

You can report security bugs through the official WP Crontrol Vulnerability Disclosure Program on Patchstack. The Patchstack team helps validate, triage, and handle any security vulnerabilities.

Who took the photo in the plugin header image?

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

Rezensionen

15. Juli 2024
I’ve used this plugin personally and recommended it professionally. Hands down, this is the most useful tool for fixing stuck cron jobs, identifying problems, etc. Thanks John for providing a such a great free plugin. You’re amazing. :)Much <3 and respect, Mia
9. März 2024
Use this tool to run my own php script to maintain my uploaded webcam images. Thanks a lot for this plugin.
9. März 2024
Why people are heartless and rate something so good and yet free be given poor rating? These guys have no respect for the opensource and the people who dedicate their time for the great cause. I love your plugin and i can’t say enough that its worth 5 stars rating and nothing less. This is the 4th review that i am writing for plugins which are great but some idiots give them poor rating. God bless you guys for sparing your valuable time for those who believe in the Open-source and its spirit of unity from across the world breaking all the barriers. Cheers.
20. November 2023
Thank you a lot, helped me understanding how WP-Cron works. Thanks! 😄
Alle 149 Rezensionen lesen

Mitwirkende & Entwickler

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

Mitwirkende

„WP Crontrol“ wurde in 18 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.

Änderungsprotokoll

1.17.0 (15 July 2024)

1.16.3 (19 April 2024)

  • Corrects the displayed PHP cron event name if one is provided

1.16.2 (24 March 2024)

1.16.1 (16 November 2023)

  • Confirms support for WordPress 6.4

1.16.0 (17 October 2023)

  • Allow persistent WordPress core hooks to be cleared if there’s more than one event with that hook
  • Add the number of matching events to the hook deletion link text
  • Scrap the Ajax request that checks if the current page of cron events has changed since loading
  • Make some improvements to sorting the cron event list table columns
  • Increase the minimum supported PHP version to 7.4

1.15.3 (30 June 2023)

  • Pass the $doing_wp_cron value to the cron_request filter so it matches WordPress core
  • Miscellaneous code quality improvements

1.15.2 (15 March 2023)

  • Improves the terminology around pausing and deleting hooks and events
  • Improves accessibility of the event listing table for keyboard users
  • Removes an unnecessary SQL query when fetching the list of paused events
  • Adds an FAQ about deactivating the plugin

1.15.1 (29 December 2022)

  • Confirms the plugin is compatible with PHP 8.2
  • Increases compatibility with other plugins that include very old Composer autoloader implementations

1.15.0 (29 November 2022)

  • Introduces the ability to pause and resume cron events from the event listing screen; see the FAQ for full details
  • Adds the site time to the cron event editing screen
  • Implements an autoloader to reduce memory usage
  • Bumps the minimum supported version of PHP to 5.6

1.14.0 (10 July 2022)

  • Reverts the changes introduced in version 1.13 while I look into the problem with the deployment process for wordpress.org

1.13.2 (10 July 2022)

  • Fixes another issue with missing files in the release

1.13.1 (10 July 2022)

  • Fixes an issue with missing files in the 1.13.0 release

1.13.0 (10 July 2022)

  • Introduces the ability to pause and resume cron events from the event listing screen; see the FAQ for full details
  • Implements an autoloader to reduce memory usage
  • Bumps the minimum supported version of PHP to 5.6

1.12.1 (15 April 2022)

  • Corrects an issue where an invalid hook callback isn’t always identified
  • Various code quality improvements

1.12.0 (22 November 2021)

  • Fix the PHP cron event management.
  • More „namespacing“ of query variables to avoid conflicts with other cron management plugins.

Earlier versions

For the changelog of earlier versions, please refer to the releases page on GitHub.