In breve: l’evento WP-Cron wp_scheduled_delete elimina definitivamente post e commenti rimasti nel cestino oltre il periodo definito da EMPTY_TRASH_DAYS. Se il cestino non si svuota, verifica prima l’età degli elementi e poi lo stato dello scheduler.
Indice dei contenuti
wp_scheduled_delete non svuota il cestino: significato
Prima di considerarlo un errore, verifica che gli elementi abbiano realmente superato EMPTY_TRASH_DAYS. Se sono già scaduti, controlla che wp_scheduled_delete sia pianificato e venga effettivamente eseguito.

Sintomi e cause probabili
Sintomi da verificare
- Post o commenti restano nel cestino oltre
EMPTY_TRASH_DAYS. wp_scheduled_deleteè assente, scaduto o con pianificazione anomala.- Anche altri eventi WP-Cron risultano in ritardo.
- Solo alcuni elementi restano bloccati mentre gli altri vengono eliminati normalmente.
Cause probabili
- Gli elementi non hanno ancora superato
EMPTY_TRASH_DAYS wp_scheduled_deleteè assente o non viene eseguitoDISABLE_WP_CRONè attivo senza un cron di sistema funzionante_wp_trash_meta_timemanca o non è coerente sugli elementi interessati
Diagnosi passo per passo
- Controllare
EMPTY_TRASH_DAYSe l’età reale degli elementi nel cestino - Eseguire
wp cron event list --hook=wp_scheduled_delete --fields=hook,next_run_gmt,next_run_relative,recurrence - Verificare
DISABLE_WP_CRONe l’eventuale cron di sistema - Controllare lo spawn WP-Cron se anche altri eventi sono scaduti
- Verificare
_wp_trash_meta_timesugli elementi anomali senza modificarlo
Log e dati da controllare
- Valore di
EMPTY_TRASH_DAYSe data di cestinazione - Prossima esecuzione e ricorrenza di
wp_scheduled_delete wp-config.phpe log dell’eventuale cron di sistemadebug.log,error_loge log HTTP se WP-Cron fallisce
Correzioni sicure
- Non intervenire se gli elementi non hanno ancora superato
EMPTY_TRASH_DAYS - Ripristinare
wp_scheduled_deletesolo se risulta realmente assente - Correggere il cron di sistema o riabilitare WP-Cron se manca uno scheduler funzionante
- Correggere eventuali problemi di spawning prima di modificare i dati del cestino

Verifica finale
wp_scheduled_deleteè presente con una prossima esecuzione valida- Gli elementi realmente scaduti vengono eliminati
- Gli elementi più recenti restano nel cestino fino alla scadenza
- La ricorrenza successiva resta pianificata senza accumulo di eventi scaduti
Errori da evitare
- Non impostare
EMPTY_TRASH_DAYSa zero come semplice test - Non eseguire ripetutamente
wp_scheduled_deletesu produzione senza verificare gli elementi coinvolti - Non modificare in massa
_wp_trash_meta_time - Non creare scheduler duplicati prima di identificare quello già attivo
Guide Xlogic correlate
- WordPress DISABLE_WP_CRON configurato male
- WordPress cron spawn failed: WP-Cron non parte
- WordPress WP-Cron: missed schedule
Fonti tecniche
- WordPress Code Reference — wp_scheduled_delete()
- WordPress — EMPTY_TRASH_DAYS
- WP-CLI — cron event list
Domande frequenti
Che cosa significa “wp_scheduled_delete non svuota il cestino”?
wp_scheduled_delete elimina definitivamente post e commenti rimasti nel cestino oltre EMPTY_TRASH_DAYS, che per impostazione predefinita è pari a 30 giorni.
Da cosa può dipendere “wp_scheduled_delete non svuota il cestino”?
Verifica prima che gli elementi siano realmente scaduti, quindi controlla wp_scheduled_delete, WP-Cron, l’eventuale cron di sistema e i metadati di cestinazione.
Quali controlli eseguire per “wp_scheduled_delete non svuota il cestino”?
Controlla EMPTY_TRASH_DAYS e l’età degli elementi, poi verifica wp_scheduled_delete con WP-CLI. La correzione è confermata quando gli elementi scaduti vengono eliminati e la prossima esecuzione resta pianificata.