Přeskočit na obsah

Řešení potíží

  1. Přejděte do Nástroje → Scheduled Actions
  2. Zkontrolujte stav akcí wpify_send_email
  3. Pokud jsou ve stavu “Failed”, zkontrolujte chyby

Pokud máte DISABLE_WP_CRON v wp-config.php, musíte nastavit externí cron:

Terminál
# Každou minutu
* * * * * wget -q -O - https://example.com/wp-cron.php?doing_wp_cron

Pokud používáte SMTP plugin:

  1. Zkontrolujte nastavení SMTP
  2. Ověřte přihlašovací údaje
  3. Zkuste odeslat testovací e-mail

Krátké zpoždění (obvykle do 1 minuty) je normální. E-maily se odesílají asynchronně při dalším spuštění cronu.

Pokud cron běží jen při návštěvách stránky:

  • Nastavte externí cron pro pravidelné spouštění
  • Nebo použijte službu jako UptimeRobot pro pravidelné pingy
  1. Zkontrolujte wp-config.php:

    define( 'DISABLE_WP_CRON', true ); // Problém
  2. Pokud je vypnutý, nastavte externí cron

Některé security nebo cache pluginy mohou blokovat cron. Zkontrolujte:

  • Security pluginy (Wordfence, Sucuri)
  • Cache pluginy (W3 Total Cache, WP Super Cache)
  1. Zkontrolujte WordPress debug log:

    wp-content/debug.log
  2. Zkontrolujte error log serveru

Pokud se zobrazí chyba “Email args not found”:

  • Data mohla být smazána před odesláním
  • Zkontrolujte wp_options tabulku
// Zjištění počtu čekajících akcí
$pending = as_get_scheduled_actions( [
'hook' => 'wpify_send_email',
'status' => ActionScheduler_Store::STATUS_PENDING,
] );
echo 'Čekající e-maily: ' . count( $pending );
Terminál
# Pomocí WP-CLI
wp cron event run --due-now
# Nebo pomocí Action Scheduler
wp action-scheduler run
-- Najít uložené e-maily v wp_options
SELECT option_name, option_value
FROM wp_options
WHERE option_name REGEXP '^[a-f0-9]{32}$'
LIMIT 10;

Pokud se hromadí velké množství akcí:

  1. Zkontrolujte, zda cron běží pravidelně
  2. Zvažte zvýšení limitu akcí na spuštění:
    add_filter( 'action_scheduler_queue_runner_batch_size', function() {
    return 50; // Výchozí je 25
    } );

Action Scheduler uchovává historii akcí. Pro čištění:

// Automatické čištění starších než 30 dní (výchozí)
add_filter( 'action_scheduler_retention_period', function() {
return 7 * DAY_IN_SECONDS; // 7 dní místo 30
} );