WordPress at a glance
Home Handbook WP-CLI Commands

wp cron

Tests, runs, and deletes WP-Cron events; manages WP-Cron schedules.

Commands Description
Tests the WP Cron spawning system and reports back its status.
Lists scheduled cron events.
Schedules a new cron event.
Runs the next scheduled cron event for the given hook.
Deletes the next scheduled cron event for the given hook.
List available cron schedules.

Examples

# Test WP Cron spawning system
$ wp cron test
Success: WP-Cron spawning is working as expected.

Source code of the commands


wp cron test

Tests the WP Cron spawning system and reports back its status.

This command tests the spawning system by performing the following steps:

  • Checks to see if the DISABLE_WP_CRON constant is set; errors if true because WP-Cron is disabled.
  • Checks to see if the ALTERNATE_WP_CRON constant is set; warns if true.
  • Attempts to spawn WP-Cron over HTTP; warns if non 200 response code is returned.

Usage

wp cron test 

Examples

# Cron test runs successfully.
$ wp cron test
Success: WP-Cron spawning is working as expected.

wp cron event list

Lists scheduled cron events.

Usage

wp cron event list [--fields={fields}] [--{field}={value}] [--field={field}] [--format={format}]

You can specify global options and the following:

[--fields={fields}]
Limit the output to specific object fields.
[--{field}={value}]
Filter by one or more fields.
[--field={field}]
Prints the value of a single field for each event.
[--format={format}]

Render output in a particular format.
Default: table
Can be:

  • table
  • csv
  • ids
  • json
  • count
  • yaml

Available fields

These fields will be displayed by default for each cron event:

  • hook
  • next_run_gmt
  • next_run_relative
  • recurrence

These fields are optionally available:

  • time
  • sig
  • args
  • schedule
  • interval
  • next_run

Examples

# List scheduled cron events
$ wp cron event list
+-------------------+---------------------+---------------------+------------+
| hook              | next_run_gmt        | next_run_relative   | recurrence |
+-------------------+---------------------+---------------------+------------+
| wp_version_check  | 2016-05-31 22:15:13 | 11 hours 57 minutes | 12 hours   |
| wp_update_plugins | 2016-05-31 22:15:13 | 11 hours 57 minutes | 12 hours   |
| wp_update_themes  | 2016-05-31 22:15:14 | 11 hours 57 minutes | 12 hours   |
+-------------------+---------------------+---------------------+------------+
# List scheduled cron events in JSON
$ wp cron event list --fields=hook,next_run --format=json
[{"hook":"wp_version_check","next_run":"2016-05-31 10:15:13"},{"hook":"wp_update_plugins","next_run":"2016-05-31 10:15:13"},{"hook":"wp_update_themes","next_run":"2016-05-31 10:15:14"}]
menu

wp cron event schedule

Schedules a new cron event.

Usage

wp cron event schedule {hook} [{next-run}] [{recurrence}] [--{field}={value}]

You can specify global options and the following:

{hook}
The hook name.
[{next-run}]
A Unix timestamp or an English textual datetime description compatible with strtotime(). Defaults to now.
[{recurrence}]
How often the event should recur. See wp cron schedule list for available schedule names. Defaults to no recurrence.
[--{field}={value}]
Associative args for the event.

Examples

# Schedule a new cron event
$ wp cron event schedule cron_test
Success: Scheduled event with hook 'cron_test' for 2016-05-31 10:19:16 GMT.
# Schedule new cron event with hourly recurrence
$ wp cron event schedule cron_test now hourly
Success: Scheduled event with hook 'cron_test' for 2016-05-31 10:20:32 GMT.
# Schedule new cron event and pass associative arguments
$ wp cron event schedule cron_test '+1 hour' --foo=1 --bar=2
Success: Scheduled event with hook 'cron_test' for 2016-05-31 11:21:35 GMT.
menu

wp cron event run

Runs the next scheduled cron event for the given hook.

Usage

wp cron event run [{hook}...] [--due-now] [--all]

You can specify global options and the following:

[{hook}...]
One or more hooks to run.
[--due-now]
Run all hooks due right now.
[--all]
Run all hooks.

Examples

# Run all cron events due right now
$ wp cron event run --due-now
Success: Executed a total of 2 cron events.

wp cron event delete

Deletes the next scheduled cron event for the given hook.

Usage

wp cron event delete {hook}

You can specify global options and the following:

{hook}
The hook name.

Examples

# Delete the next scheduled cron event
$ wp cron event delete cron_test
Success: Deleted 2 instances of the cron event 'cron_test'.

wp cron schedule list

List available cron schedules.

Usage

wp cron schedule list [--fields={fields}] [--field={field}] [--format={format}]

You can specify global options and the following:

[--fields={fields}]
Limit the output to specific object fields.
[--field={field}]
Prints the value of a single field for each schedule.
[--format={format}]

Render output in a particular format.
Default: table
Can be:

  • table
  • csv
  • ids
  • json
  • yaml

Available fields

These fields will be displayed by default for each cron schedule:

  • name
  • display
  • interval

There are no additional fields.

Examples

# List available cron schedules
$ wp cron schedule list
+------------+-------------+----------+
| name       | display     | interval |
+------------+-------------+----------+
| hourly     | Once Hourly | 3600     |
| twicedaily | Twice Daily | 43200    |
| daily      | Once Daily  | 86400    |
+------------+-------------+----------+
# List id of available cron schedule
$ wp cron schedule list --fields=name --format=ids
hourly twicedaily daily