wp_cron(): false|int|void

Registers _wp_cron() to run on the ‘wp_loaded’ action.


If the ‘wp_loaded’ action has already fired, this function calls _wp_cron() directly.

Warning: This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. For information about casting to booleans see the PHP documentation. Use the === operator for testing the return value of this function.


false|int|void On success an integer indicating number of events spawned (0 indicates no events needed to be spawned), false if spawning fails for one or more events or void if the function registered _wp_cron() to run on the action.


function wp_cron() {
	if ( did_action( 'wp_loaded' ) ) {
		return _wp_cron();

	add_action( 'wp_loaded', '_wp_cron', 20 );


5.7.0Functionality moved to _wp_cron() to which this becomes a wrapper.
5.1.0Return value added to indicate success or failure.

User Contributed Notes

  1. Skip to note 2 content

    You should not call wp_cron() yourself, but it allows you to create scheduled events like this.

    if ( ! wp_next_scheduled( 'wpdocs_task_hook' ) ) {
    	wp_schedule_event( time(), 'hourly', 'wpdocs_task_hook' );
    add_action( 'wpdocs_task_hook', 'wpdocs_task_function' ); // 'wpdocs_task_hook` is registered when the event is scheduled
     * Send an alert by email.
    function wpdocs_task_function() {
    	wp_mail( 'your@email.com', 'Automatic email', 'Automatic scheduled email from WordPress.');

You must log in before being able to contribute a note or feedback.