Come creare e modificare un Cron Job di WordPress

Rifat Plugin WordPress Jul 4, 2023

Cron è un'utilità comunemente utilizzata nei sistemi Unix/Linux per programmare comandi o script su un server Web che opera in background. Un cron job si riferisce a un'attività specifica pianificata per l'esecuzione a orari, date o intervalli fissi predeterminati. Tali compiti sono spesso ripetitivi e automatizzati per migliorare l'efficienza. Nel caso di WordPress, la funzione WP-Cron viene utilizzata per emulare un cron di sistema.

Le istanze dei lavori cron di WordPress possono includere la pianificazione della pubblicazione di un post o l'esecuzione di un plug-in di backup in base a un orario predefinito. L'obiettivo di questa discussione è fornire una guida completa su come creare, modificare ed eseguire senza sforzo un cron job di WordPress.

Come impostare un Cron Job su WordPress

Vale la pena notare che WP-Cron differisce leggermente da un cron di sistema e ognuno ha i suoi vantaggi e svantaggi. WP-Cron si basa esclusivamente su intervalli, mentre un cron di sistema si basa su orari specifici. Inoltre, WP-Cron funziona solo quando la pagina viene caricata, sia che si tratti del back-end o del front-end, il che può comportare una minore affidabilità. Gli intervalli predefiniti forniti da WordPress includono programmi orari, due volte al giorno e giornalieri.

Per programmare eventi WP-Cron, è necessario creare hook personalizzati. Consigliamo vivamente di consultare il manuale ufficiale dei plugin di WordPress, che offre un'ottima guida sulla programmazione degli eventi WP-Cron. Se stai cercando un metodo alternativo per configurare un cron di sistema all'interno di WordPress, ti suggeriamo di fare riferimento all'articolo di Tom Mcfarlin’ sulla definizione di un cron job di WordPress. Inoltre, per coloro che potrebbero essere meno esperti, esploreremo un modo semplice per utilizzare WP-Cron insieme al popolare plugin gratuito WP C r ontrol. Questo plugin ti consente di monitorare e gestire le attività all'interno del sistema WP-Cron.

Create Amazing Websites

Con il miglior generatore di pagine gratuito Elementor

Parti ora

WP Crontrol vanta un numero impressionante di installazioni attive che superano le 200.000, insieme a un punteggio eccezionale di 4,5 su 5. All'interno della comunità di WordPress, questo plugin ha raccolto una notevole ammirazione.

Questo plug-in offre una notevole utilità fornendo una panoramica completa dei lavori CRON pianificati per l'esecuzione. Serve come un eccellente passo iniziale verso la comprensione dei processi sottostanti e la determinazione del loro stato operativo. Tali meriti hanno portato a una valutazione unanime di 5 stelle. Inoltre, la possibilità di creare nuovi cron job e avviare l'esecuzione di quelli esistenti ne aumenta ulteriormente il valore, garantendo un'ulteriore valutazione a 5 stelle, come affermato da Josh, il creatore di Caldera Forms.

Per acquisire questo plug-in, è possibile scaricarlo direttamente dal repository di WordPress o individuarlo all'interno della dashboard di WordPress nella sezione "Aggiungi nuovo" plug-in. Le caratteristiche degne di nota di WP Control comprendono:

  • Una visualizzazione completa di tutti gli eventi cron, inclusi i rispettivi argomenti, schemi di ricorrenza e tempi di esecuzione imminenti.
  • La capacità di modificare, rimuovere o avviare immediatamente qualsiasi evento cron.
  • La disposizione per introdurre nuovi eventi cron.
  • L'opzione per aggiungere, modificare e rimuovere pianificazioni cron personalizzate.

Orari WP-Cron

All'attivazione, l'utente ottiene la possibilità di modificare le pianificazioni dei lavori Cron di WordPress accedendo alla sezione "Pianificazioni Cron" all'interno delle impostazioni della dashboard di WordPress. È importante osservare che il plug-in introduce un programma aggiuntivo predefinito con una frequenza settimanale. Inoltre, gli utenti hanno la possibilità di includere pianificazioni aggiuntive misurate in secondi, ad esempio 21600 secondi per eseguire attività ogni 6 ore.

Questi intervalli possono essere incorporati nel codice utilizzando un filtro, esemplificato dalla seguente riga di codice:

add_filter( 'cron_schedules', 'example_add_cron_interval' );

function example_add_cron_interval( $schedules ) {
 $schedules['five_seconds'] = array(
 'interval' => 5,
 'display' => esc_html__( 'Every Five Seconds' ),
 );

return $schedules;
 }

Eventi WP-Cron


Successivamente, il plug-in può essere utilizzato anche per visualizzare i processi Cron di WordPress esistenti che sono stati pianificati. Per accedere a questa funzione, vai alla sezione "Eventi Cron" nella scheda "Strumenti". Numerosi nomi di azioni sono facilmente identificabili, poiché dovrebbero corrispondere a parti specifiche del nome del plug-in, come "woocoomerce_cleanup_sessions" o "gravityforms_cron".


Per avviare un'esecuzione immediata di un evento Cron, è sufficiente fare clic sull'opzione "Esegui ora" adiacente al nome dell'azione corrispondente. Questa funzionalità si rivela vantaggiosa durante il processo di risoluzione dei problemi, in particolare quando diventa necessario eseguire più volte un evento Cron.

Aggiungi evento Cron

Inoltre, hai la possibilità di incorporare gli eventi Cron nella tua configurazione. In questo caso, dimostreremo il processo di aggiunta di un lavoro Cron di WordPress specifico per il plug-in Disqus. Molte persone potrebbero voler eseguire questa attività per modificare la frequenza di sincronizzazione o risolvere problemi relativi alla sincronizzazione dei commenti. La documentazione fornita da ciascuno sviluppatore di plug-in di terze parti dovrebbe contenere il nome designato per il proprio evento cron, o in altre parole, il nome dell'azione. Nel caso del plugin Disqus, il nome dell'azione utilizzato è "dsq_sync_forum".

Se intendi creare un evento cron da zero, avrai bisogno di un corrispondente action hook all'interno del tuo codice, come il file functions.php. Il seguente esempio, per gentile concessione di WP-Crontrol, illustra questo concetto:

add_action( 'my_hookname', 'my_function' );

La prossima funzione che scriverai è:

function my_function() {
    wp_mail( '[email protected]', 'WP Crontrol', 'WP Crontrol rocks!' );
}


Nel caso di Disqus, il nostro passaggio iniziale prevede l'incorporazione di una nuova pianificazione cron con una durata di 600 secondi (equivalente a 10 minuti). Successivamente, procediamo ad accedere alla funzione "Aggiungi evento Cron", dove inseriamo "dsq_sync_forum" come nome dell'azione designata. Selezioniamo quindi il tempo di esecuzione successivo e optiamo per l'intervallo di 10 minuti che abbiamo stabilito di recente. Infine, concludiamo il processo selezionando "Aggiungi evento Cron". Di conseguenza, questa procedura garantisce una ricorrenza automatizzata ogni 10 minuti, facilitando la sincronizzazione manuale dei commenti di Disqus con il nostro database WordPress.

In sostanza, l'utilizzo di questa funzionalità è semplice e intuitivo.

Modifica Evento Mais

Inoltre, è possibile modificare eventi Cron preesistenti selezionando l'opzione "Modifica" adiacente al nome dell'azione. Di conseguenza, si ottiene la possibilità di modificare il nome dell'azione, gli argomenti, l'esecuzione successiva e la ricorrenza pianificata. È importante prestare attenzione quando si apportano tali modifiche, poiché numerosi plug-in dipendono dai loro processi Cron per il corretto funzionamento.

Aggiungi un Cron Job usando cPanel

Se hai accesso a un account cPanel fornito dal tuo host web, puoi utilizzare il pannello di controllo per stabilire lavori cron. Per fare ciò, accedi al tuo account cPanel e vai alla sezione "Avanzate", quindi seleziona "Cron Jobs".

La pagina delle impostazioni per Cron Jobs offre scelte per configurare le notifiche di cron job e stabilirne di nuove. Per incorporare un cron job, vai alla sezione denominata "Aggiungi nuovo cron job" scorrendo verso il basso.

All'interno di questa sezione avrai la possibilità di regolare la frequenza del comando.

Il menu Impostazioni comuni comprende varie scelte preconfigurate, che vanno da una frequenza di una volta al minuto a una volta all'anno. Gli utenti hanno la flessibilità di selezionare una qualsiasi di queste opzioni o in alternativa personalizzare i campi sottostanti inserendo un valore personalizzato.

Dopo aver configurato la frequenza del cron job, puoi procedere con l'inserimento del comando che verrà eseguito all'interno del campo Command designato. Per conservare le modifiche, salva il cron job selezionando l'opzione "Aggiungi nuovo cron job". Di conseguenza, il cron job appena creato verrà visualizzato tra i Cron job correnti elencati nella parte inferiore della pagina.

Disattiva WP-Cron

In alcuni casi, l'utilizzo della funzione WP-Cron può causare complicazioni per il tuo sito web. WP-Cron è una versione simulata di un lavoro cron, privo dell'operazione continua tipicamente associata a tali lavori. Al contrario, WordPress esegue lo script wp-cron.php ogni volta che viene caricata una pagina.

Questo approccio può portare a problemi per i siti Web che registrano un traffico elevato, poiché è necessario allocare risorse sostanziali per eseguire wp-cron.php durante ogni caricamento della pagina. Se lo script non viene eseguito a causa del caricamento della pagina, anche i comandi pianificati potrebbero non essere eseguiti, poiché wp-cron.php non monitora attivamente gli intervalli.

Se riscontri problemi con WP-Cron, hai la possibilità di disattivare questa funzione incorporando il seguente codice nel file wp-config.php di WordPress:

define('DISABLE_WP_CRON', true);

Una volta salvate le modifiche nel file, il processo è completo. Tuttavia, se scegli di disabilitare WP-Cron, dovrai stabilire una soluzione alternativa utilizzando uno dei metodi descritti nelle sezioni precedenti di questo tutorial.

Avvolgendo

Migliora l'efficienza e riduci le spese ottimizzando al contempo la funzionalità del sito Web sfruttando integrazioni di livello aziendale del valore di $ 275 o più, che sono perfettamente integrate in ogni piano WordPress gestito. Queste integrazioni comprendono una Content Delivery Network (CDN) ad alte prestazioni, una solida protezione DDoS (Distributed Denial of Service), protezioni complete contro malware e tentativi di hacking, efficienti meccanismi di cache perimetrale e le più veloci macchine CPU di Google. Inizia il tuo viaggio senza la necessità di lunghi impegni contrattuali, approfitta delle migrazioni guidate e goditi una garanzia di rimborso di 30 giorni.

Divi WordPress Theme