# wp_cron()

URL: https://chugunov.pro/api-wordpress/functions/wp_cron/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 2.1.0.

## Сигнатура

```php
wp_cron()
```

## Описание

Функция spawn_cron() пытается выполнить неблокирующий петлевой запрос к wp-cron.php (когда не используется альтернативный cron). Однако функция wp_remote_post() не всегда учитывает параметры timeout и blocking. Таймаут 0.01 в итоге может занять 1 секунду. Когда это выполняется на действии «wp_loaded», увеличивается время до первого байта (TTFB), поскольку HTML нельзя отправить, пока идёт ожидание инициации cron-запроса. Перенос запуска cron на хук «shutdown» позволяет серверу сбросить HTML-документ в браузер, пока идёт ожидание запроса.

## Исходный код

Файл: `wp-includes/cron.php:1018`

```php
function wp_cron(): void {
	if ( defined( 'ALTERNATE_WP_CRON' ) && ALTERNATE_WP_CRON ) {
		if ( did_action( 'wp_loaded' ) ) {
			_wp_cron();
		} else {
			add_action( 'wp_loaded', '_wp_cron', 20 );
		}
	} elseif ( doing_action( 'shutdown' ) ) {
		_wp_cron();
	} else {
		add_action( 'shutdown', '_wp_cron' );
	}
}
```

## История изменений

- 6.9.0 — The _wp_cron() callback is moved from 'wp_loaded' to the 'shutdown' action, unless ALTERNATE_WP_CRON is enabled; the function now always returns void.
- 5.7.0 — Functionality moved to _wp_cron() to which this becomes a wrapper.
- 5.1.0 — Return value added to indicate success or failure.
- 2.1.0 — Introduced.

## Связанные

Использует: [`_wp_cron`](https://chugunov.pro/api-wordpress/functions/_wp_cron/), [`did_action`](https://chugunov.pro/api-wordpress/functions/did_action/), [`doing_action`](https://chugunov.pro/api-wordpress/functions/doing_action/), [`add_action`](https://chugunov.pro/api-wordpress/functions/add_action/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/wp_cron/
