Recentemente, uno dei nostri lettori ha chiesto se fosse possibile visualizzare e controllare il sistema di cron job di WordPress nella dashboard. Secondo la nostra esperienza, questa è una domanda che molti utenti di WordPress si pongono, specialmente man mano che acquisiscono maggiore familiarità con il funzionamento interno di WordPress.
Se non lo sai, Cron è una tecnologia per eseguire attività pianificate su un server web. WordPress è dotato del proprio cron integrato che gli consente di eseguire attività pianificate come il controllo degli aggiornamenti, la pubblicazione di post programmati, ecc.
In questo articolo, ti mostreremo come visualizzare e controllare i cron job di WordPress.

Cos'è WordPress Cron? Come funziona?
Cron è un termine tecnico utilizzato per i comandi da eseguire in orari pianificati o a intervalli regolari. La maggior parte dei server web lo utilizza per la manutenzione del server ed eseguire attività pianificate.
WordPress è dotato del proprio sistema cron, che gli consente di eseguire attività pianificate. Ad esempio, il controllo degli aggiornamenti, l'eliminazione di vecchi commenti dal cestino, la pubblicazione di post programmati, e così via.
I plugin WordPress possono anche usarlo per eseguire attività specificate da te. Ad esempio, il tuo plugin di backup WordPress può utilizzare il cron di WordPress per creare automaticamente backup secondo una pianificazione prestabilita.
Tuttavia, l'uso irresponsabile di WordPress cron da parte dei plugin può rallentare il tuo sito web. Soprattutto, se sei su hosting condiviso.
Se un plugin esegue frequentemente attività intensive in termini di risorse, devi identificare il problema e risolverlo.
Diamo un'occhiata a come visualizzare e controllare il sistema cron di WordPress senza scrivere codice.
Visualizza e controlla il sistema cron di WordPress
La prima cosa da fare è installare e attivare il plugin WP Crontrol. Per maggiori dettagli, consulta la nostra guida passo passo su come installare un plugin WordPress.
Dopo l'attivazione, devi visitare la pagina Strumenti » Eventi Cron per controllare le impostazioni di cron.

Vedrai un elenco di tutti gli eventi cron pianificati per essere eseguiti sul tuo sito utilizzando il sistema cron di WordPress.
Nella prima colonna, vedrai il nome dell'hook che esegue il cron.
I nomi degli hook di solito ti danno un'idea di cosa fa questo particolare evento.
La maggior parte degli hook predefiniti di WordPress inizia con il prefisso wp_, come wp_update_plugins, wp_update_themes, ecc.
I tuoi plugin WordPress possono o non possono utilizzare i propri prefissi per i loro hook. Ad esempio, All in One SEO utilizza il prefisso aioseo_.
Vedrai anche quando verrà eseguito un cron e l'intervallo di tempo tra le prossime esecuzioni.
L'ultima colonna dell'elenco ti consente di modificare, eliminare o eseguire un evento cron.
Importante: Fai molta attenzione a ciò che fai con gli eventi cron e non eliminare mai un evento cron predefinito di WordPress.
Ora, supponiamo che tu veda un evento cron creato da un plugin di WordPress che consuma molte risorse.
Innanzitutto, dovresti controllare le impostazioni del plugin per vedere se c'è un'opzione per controllarlo da lì. Se non c'è, puoi fare clic sul collegamento 'Modifica' accanto all'evento cron per cambiarlo.

Fare clic sul pulsante Modifica aprirà la scheda 'Modifica evento cron' in basso.
Qui puoi cambiare la frequenza con cui desideri che l'evento venga eseguito.

Una volta terminato, fai clic sul pulsante 'Modifica evento cron' per salvare le impostazioni.
Aggiungere i tuoi eventi cron in WordPress
Il plugin WP Crontrol rende facile aggiungere i tuoi lavori cron a WordPress. Visita semplicemente la pagina Strumenti » Eventi Cron e scorri fino alla scheda 'Aggiungi evento cron'.

Innanzitutto, devi fornire un nome di hook per il tuo evento cron. I nomi degli hook non possono contenere spazi o caratteri speciali.
Se la funzione che desideri eseguire richiede argomenti, puoi fornire tali argomenti.
Successivamente, devi indicare a WordPress quando eseguire il cron la prossima volta. Puoi inserire 'now' che attiverà il cron immediatamente, 'tomorrow', '+2 days' o '25-02-2020 12:34:00'.
Infine, devi selezionare una pianificazione. Puoi selezionare oraria, due volte al giorno, giornaliera o una volta alla settimana. Puoi anche renderlo un evento non ripetitivo.
Una volta terminato, fai clic sul pulsante 'Aggiungi evento Cron' per salvare le modifiche.
Noterai che il tuo evento cron apparirà ora nell'elenco degli eventi.
Tuttavia, al momento non fa nulla perché non hai detto a WordPress cosa fare quando questo evento viene attivato.
Dovrai aggiungere il tuo hook e una funzione che viene eseguita quando l'hook cron viene attivato.
add_action( 'wpb_custom_cron', 'wpb_custom_cron_func' );
function wpb_custom_cron_func() {
wp_mail( 'you@example.com', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}
Non dimenticare di usare il tuo indirizzo email.
Questa funzione invia semplicemente un'email di test quando il cron viene eseguito. Ora puoi scorrere la pagina verso l'alto e fare clic sul link 'Esegui ora' accanto al tuo evento cron per testarlo.
Nota: L'utilizzo di cron richiede competenze di programmazione e sviluppo WordPress di livello intermedio. Se non possiedi queste competenze, ti consigliamo di assumere uno sviluppatore WordPress.
Questo è tutto, speriamo che questo articolo ti abbia aiutato a imparare come visualizzare e controllare i cron job di WordPress. Potresti anche voler consultare la nostra guida su come installare in blocco i tuoi plugin WordPress preferiti o le nostre scelte esperte dei migliori plugin di sicurezza WordPress.
Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.
Mrteesurez
Grazie mille per aver introdotto questo argomento e per averci aiutato a comprendere meglio i cron job di WordPress. La tua spiegazione dettagliata ha chiarito davvero come funzionano e come gestirli efficacemente. Apprezzo gli spunti che hai condiviso; è gratificante avere queste conoscenze per mantenere i nostri siti funzionanti senza intoppi. Grazie ancora per il tuo prezioso articolo!
Paul Barrett
Eseguiamo il cron a livello di server perché wp-cron sovraccarica il server. Non c'è nulla sul nostro sito che sia così critico da richiedere l'esecuzione frequente dei job. Se impostassimo la frequenza, ad esempio, giornaliera, WordPress avrebbe un problema?
Supporto WPBeginner
Dipenderebbe molto da cosa viene fatto sul sito e quando. Non abbiamo una raccomandazione specifica per ciò che può essere ritardato a tal punto.
Amministratore
Matt K
Quando vado a cambiare la ricorrenza sugli Hook, vengono semplicemente ripristinati. C'è qualcosa che non va. Devo prima disabilitare i cron di WP in wp-config.php?
Supporto WPBeginner
Dipenderebbe dal cron job specifico, se contatti il supporto del plugin dovrebbero essere in grado di assisterti
Amministratore
Heinz
Posso disattivare o addirittura eliminare il plugin WP Control dopo aver impostato un cron job, in modo da non avere troppi plugin in esecuzione e rallentare il sito web?
Supporto WPBeginner
Sì, purché tu abbia utilizzato una delle pianificazioni predefinite (come quella giornaliera). Se hai aggiunto una pianificazione personalizzata, qualsiasi evento che la utilizzi verrà eseguito ancora una volta ma non si ripeterà dopo.
Il plugin non dovrebbe causare un rallentamento del tuo sito. Per una migliore comprensione di come i plugin di WordPress influenzano il tuo sito, potresti voler dare un'occhiata al nostro articolo qui:
https://www.wpbeginner.com/opinion/how-many-wordpress-plugins-should-you-install-on-your-site/
Amministratore
Andre Hesdahl
Sono un principiante con WordPress e non so dove mettere (o come eseguire) il codice:
add_action( ‘wpb_custom_cron’, ‘wpb_custom_cron_func’ );
function wpb_custom_cron_func() { wp_mail( ‘you@example.com’, ‘Email automatica’, ‘Email programmata automatica da WordPress per testare il cron’); }
Jeff
Grazie per l'articolo. Interessante vedere il numero di plugin che eseguono processi cron frequentemente. Ottima sbirciatina sotto il cofano del plugin...
David
Come posso configurare il cron ogni mezz'ora?
hazel beaver
Quando controllo la pianificazione del cron, le date mostrate nella colonna 'prossima esecuzione' sono tutte nel passato. Significa che non vengono eseguite?
In passato credo di aver aggiunto 'true' nel file wp config per impedire agli aggiornamenti automatici di wp di bloccare il mio sito... potrebbe essere la causa?
Janson
Funziona in Multi-site? Si possono controllare i cron per tutte le istanze in uno scenario multisite?
Oleg
Ottimo articolo, ma non c'è bisogno di
if ( ! wp_next_scheduled( ‘wpb_custom_cron’ ) ) { wp_schedule_event( time(), ‘hourly’, ‘my_task_hook’ ); }
questa parte è gestita dal plugin,
beny salim
come posso aggiungere una ricorrenza tipo ogni cinque minuti, dieci minuti
Ahmad Sayeed
Ho testato l'esempio che hai fornito. Funziona alla grande. Ma per favore, forniscici un esempio per inviare parametri. Ho aggiunto la funzione durante la creazione dell'evento. Ma non so come usarli nella funzione PHP.
Per favore, forniscici un esempio
Sunny
Il mio sito web mostra una lunga stringa wp cron dopo il mio URL e non riesco a liberarmene. Qualche idea?
?doing_wp_cron=1499261576.8675799369812011718750 appare dopo il mio URL e mi fa sembrare molto spam. La tua opinione sarebbe apprezzata.
Aniket Ashtikar
Il hook cron 'my_task_hook' è menzionato correttamente lì alla riga 2 o dovrebbe piuttosto essere cambiato in 'wpb_custom_cron'?
Matt
Sai se è possibile visitare un link nell'area wp-admin? Ho un plugin che aggiunge funzionalità admin al mio sito WordPress ma voglio davvero che questo venga pianificato ogni 24 ore. Ho il link ma ovviamente devo essere loggato.
Pam M
Hai bisogno di quella prima istruzione if mostrata nel codice di esempio? Sembra che sovrascriverebbe la capacità di pianificare e annullare la pianificazione nel plugin WP Crontrol.
Il tuo esempio ha funzionato bene quando ho pianificato il lavoro nel plugin e l'ho testato con l'opzione Esegui ora. Vedrò se riceverò un'email all'ora prevista.
Grazie per le utili informazioni di base.
Nigam
Ciao
Quando aggiorno la pagina di WP-Cron Events dall'amministrazione di WordPress, solo allora l'evento viene eseguito.