WP-Cron - zaplanowane zadania WordPress
WordPress ma własny system cron do zaplanowanych zadań - publikacje, backupy, maile. Ale WP-Cron ma problemy. Pokażę jak je rozwiązać.
Krótka odpowiedź
Jak działa WP-Cron
Pseudo-cron:
- Nie działa w tle jak prawdziwy cron
- Uruchamia się przy odwiedzinach
- Sprawdza czy są zaległe zadania
- Jeśli tak - wykonuje
Zadania WP-Cron:
- Publikacja zaplanowanych postów
- Sprawdzanie aktualizacji
- Backupy (UpdraftPlus)
- Newsletter wysyłki
- Czyszczenie trash/spam
Problemy i rozwiązania
Problem małego ruchu:
- Brak odwiedzin = brak crona
- Zaplanowane posty nie wychodzą
- Backupy się nie robią
Rozwiązanie - prawdziwy cron:
1. Wyłącz WP-Cron:
```php
// wp-config.php
define('DISABLE_WP_CRON', true);
```
2. Ustaw server cron:
```bash
*/15 * * * * wget -q -O - https://example.com/wp-cron.php?doing_wp_cron
```
Problem dużego ruchu:
- Każdy request uruchamia sprawdzanie
- Obciążenie serwera
- Rozwiązanie: też prawdziwy cron
Zarządzanie zadaniami
WP Crontrol:
- Przeglądaj zaplanowane zadania
- Uruchamiaj ręcznie
- Usuwaj, edytuj
- Debug problemów
Własne zadania:
```php
// Dodaj zadanie
if (!wp_next_scheduled('my_daily_task')) {
wp_schedule_event(time(), 'daily', 'my_daily_task');
}
add_action('my_daily_task', 'my_function');
```
Interwały:
- hourly, twicedaily, daily
- Własne przez cron_schedules filter