wpseek.com
A WordPress-centric search engine for devs and theme authors
_wp_cron is private and should not be used in themes or plugins directly.
_wp_cron › WordPress Function
Since5.7.0
Deprecatedn/a
› _wp_cron ( No parameters )
Access: |
|
Returns: |
|
Defined at: |
|
Codex: |
Runs scheduled callbacks or spawns cron for all scheduled events.
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 {@link PHP documentation}. Use the===
operator for testing the return value of this function.Source
function _wp_cron() {
// Prevent infinite loops caused by lack of wp-cron.php.
if ( str_contains( $_SERVER['REQUEST_URI'], '/wp-cron.php' )
|| ( defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON )
) {
return 0;
}
$crons = wp_get_ready_cron_jobs();
if ( empty( $crons ) ) {
return 0;
}
$gmt_time = microtime( true );
$keys = array_keys( $crons );
if ( isset( $keys[0] ) && $keys[0] > $gmt_time ) {
return 0;
}
$schedules = wp_get_schedules();
$results = array();
foreach ( $crons as $timestamp => $cronhooks ) {
if ( $timestamp > $gmt_time ) {
break;
}
foreach ( (array) $cronhooks as $hook => $args ) {
if ( isset( $schedules[ $hook ]['callback'] )
&& ! call_user_func( $schedules[ $hook ]['callback'] )
) {
continue;
}
$results[] = spawn_cron( $gmt_time );
break 2;
}
}
if ( in_array( false, $results, true ) ) {
return false;
}
return count( $results );
}