Come gestire i lavori Cron di WordPress

Pubblicato: 2021-05-14
cron wordpress
Segui @Cloudways

Molti sviluppatori di WordPress, in particolare i principianti, hanno una domanda comune "cos'è il cron di WordPress" con "come gestire i lavori di cron di WordPress?" un secondo vicino.

La risposta è semplice: usa uno qualsiasi dei metodi di gestione dei lavori cron di WordPress che illustrerò in questo articolo.

  • Cos'è WordPress Cron?
  • Come Gestire un Cron Job di WordPress
    • Come gestire i lavori Cron di WordPress con il plugin
      • Passaggio 1: installa il plug-in di controllo WP
      • Passaggio 2: visualizzare e comprendere gli eventi Cron
      • Passaggio 3: modifica evento Cron
      • Passaggio 4: aggiunta di un intervallo di tempo personalizzato
      • Passaggio 5: aggiunta di un nuovo evento Cron
    • Come gestire i lavori Cron di WordPress con WP CLI
  • Come impostare un vero lavoro Cron

Cron è un'utilità UNIX standard per la pianificazione dell'esecuzione delle attività (script o comandi) a un'ora, una data o un intervallo specifici. L'attività che eseguirà è nota come cron job. Come puoi immaginare, lo scopo di un cron job è automatizzare le attività ripetitive in modo da poter utilizzare il tuo tempo in modo più produttivo.

Tuttavia, il cron di WordPress è leggermente diverso dal cron standard, ed è per questo che prima di immergersi nell'azione e nel processo, è necessario capire che cos'è un cron di WordPress e come funziona.

Cos'è WordPress Cron?

WordPress ha il proprio sistema cron per la pianificazione di attività come il controllo degli aggiornamenti, la pianificazione di un post per la pubblicazione e l'eliminazione dei commenti dal cestino. Tutti i lavori cron sono gestiti da WP-Cron.

Mentre il nome (e l'idea principale) deriva da UNIX cron, WordPress cron non funziona in questo modo e utilizza intervalli per la pianificazione delle attività. Gli intervalli di tempo predefiniti forniti da WordPress sono orari, due volte al giorno, giornalieri e settimanali. Qui, le attività basate sul tempo dipendono dagli utenti che visitano il tuo sito, il che significa che WordPress cron verrà eseguito solo se un utente visita il tuo sito web.

In altre parole, WordPress cron viene eseguito quando la pagina viene caricata. A volte questo non è così affidabile, ed è per questo che molti utenti preferiscono un lavoro cron a livello di server rispetto al lavoro WP-Cron.

In questo articolo, ti mostrerò come gestire i cron job di WordPress e impostare un vero cron job per il tuo sito WordPress.

Come gestire un lavoro Cron di WordPress

Esistono molti modi per configurare e gestire i cron job di WordPress, ma ti mostrerò due metodi popolari.

Il primo utilizza un plugin di gestione cron come WP Crontrol che ti consente di aggiungere, modificare e gestire i cron job di WordPress direttamente dalla dashboard di WP. Puoi anche creare un cron job, creare hook e funzioni e definire intervalli di tempo personalizzati per le attività.

E il secondo metodo è con WordPress CLI.

Come gestire i lavori Cron di WordPress con il plugin

Userò il plugin WP Crontrol che ti consente di visualizzare e controllare il cron di WordPress per la tua applicazione WordPress. È il popolare plugin utilizzato per gestire i lavori cron di WP e ha più di 100.000 installazioni attive.
Questo è il metodo più semplice per gestire i cron job di WordPress e puoi visualizzare, modificare, creare, eliminare rapidamente e puoi fare molto di più con gli eventi cron di WordPress.

Quindi iniziamo!

Passaggio 1: installa il plug-in di controllo WP

Proprio come qualsiasi altro plugin, devi installare WP Cronol dal repository dei plugin e attivarlo. Una volta installato, noterai che è apparsa una nuova opzione "Eventi Cron" nella scheda Strumenti .

eventi cron

Passaggio 2: visualizzare e comprendere gli eventi Cron

Successivamente, devi fare clic su Eventi cron e vedrai un elenco di eventi cron in esecuzione sulla tua applicazione WordPress.

elenco di eventi cron

Da questa sezione, puoi eseguire, modificare ed eliminare i tuoi eventi cron. Vedrai questa opzione quando passi il mouse su qualsiasi evento cron.

Troverai anche informazioni utili su questi cron job e identificherai rapidamente quale cron job viene utilizzato per quale scopo e molto altro. Nella prima colonna, Hook mostra il nome dell'hook utilizzato dal core di WordPress o da qualsiasi plug-in. Ad esempio, il prefisso " wp " mostra semplicemente che è un cron del core di WordPress. Noterai anche che non esiste alcuna opzione per eliminare questi eventi cron, tuttavia puoi utilizzare le opzioni Modifica ed esegui ora . Allo stesso modo, per i tuoi plugin, noterai che vengono utilizzati altri prefissi (ad esempio, per WooCommerce, "wc" o "woocommerce").

La seconda colonna Argomenti contiene solo gli argomenti passati alle funzioni hook.

La terza colonna mostra quando questo cron job verrà eseguito la prossima volta.

La quarta colonna Azione mostra quale azione eseguirà questo cron (la "funzione" del cron job).
L'ultima colonna definisce i tempi di ricorrenza dei lavori cron. Questo è fondamentalmente l'intervallo di tempo per l'attività pianificata.

Passaggio 3: modifica evento Cron

Ora modifichiamo un cron job di WP per testare questo plugin.

Vai al nome di un hook e fai clic su modifica . Apparirà una nuova sezione " Modifica evento Cron " dove vedrai diversi campi. Nel mio caso, ho modificato l'hook "wp_privacy_delete_old_export_files". Successivamente, cambierò la ricorrenza di questo cron job in "Ogni quindici minuti".

modifica eventi cron

Passaggio 4: aggiunta di un intervallo di tempo personalizzato

Successivamente, ti mostrerò come aggiungere un intervallo di tempo personalizzato per i tuoi eventi cron. Per questo, fai clic sulla scheda " Cron Schedule " e apparirà una nuova schermata dove vedrai i dettagli degli intervalli di tempo programmati. Quindi, scorri verso il basso fino in fondo dove vedrai " Aggiungi pianificazione Cron ". Compila i campi e fai clic su Aggiungi pianificazione Cron .

aggiungi la pianificazione cron

Notare che l'input per l'intervallo è in secondi. Userò 600 secondi per impostare l'intervallo su 10 minuti.

Ora puoi modificare il tuo evento cron e sostituirlo con il tuo intervallo personalizzato.

modifica evento cron

Passaggio 5: aggiunta di un nuovo evento Cron

Ora sai come gestire le semplici attività per i tuoi eventi cron, ma cosa succede se vuoi aggiungere il tuo cron job per la tua applicazione WordPress. Non preoccuparti, è così semplice e tutto ciò che devi fare è seguire le istruzioni qui sotto.

Innanzitutto, fai clic su Aggiungi evento Cron e entrerai nella sezione Aggiungi cron. Quindi, dai semplicemente un nome di hook come desideri (dovrebbe seguire la normale convenzione di denominazione PHP e senza spazi).

Quindi, aggiungi argomenti (è facoltativo) e nel mio caso è vuoto. E poi, seleziona qualsiasi opzione e inserisci un'ora nel campo Prossima esecuzione . Infine, scegli un'ora di ricorrenza (orario di pianificazione) per il tuo nuovo cron e fai clic su Aggiungi evento .

aggiungi evento cron

Se hai domande a riguardo, puoi controllare le impostazioni di qualsiasi cron job in esecuzione dai tuoi eventi cron.

Dopo aver aggiunto un nuovo cron job, vai alla scheda cron events e controlla il cron appena creato. Noterai che nella colonna azione ti mostrerà Nessuno (errore). Questo perché non hai definito alcuna azione per questo cron job. Pertanto è necessario scrivere alcune righe di codice nel file functions.php del tema e aggiungere un'azione.

nessun errore

Nota: prima di proseguire, si consiglia vivamente di eseguire il backup del sito WordPress.

Apriamo il file e aggiungiamo le seguenti righe di codice subito dopo <?php :

 add_action( 'cloudways_new_cron', 'cw_function' );
function cw_function() {
wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - un cloud hosting gestito!' );
}

Non dimenticare di sostituire il mio indirizzo email con il tuo.

funzione indirizzo email php
Puoi vedere nell'immagine sopra, l'ho modificato direttamente con la dashboard di WordPress. Se lo desideri, puoi modificare questo file tramite un client FTP come FileZilla.

Quindi, controlliamo la posta in arrivo e vediamo se stiamo ricevendo il messaggio.

e-mail cron

Tada! È fatto e abbiamo aggiunto con successo un nuovo evento cron.

Come gestire i lavori Cron di WordPress con WP CLI

Puoi anche visualizzare e gestire tutti i tuoi cron job di WordPress dalla CLI di WordPress. Su Cloudways, è necessario avviare il terminale e accedere con le credenziali del server.

Quindi, posiziona il percorso della tua applicazione WordPress. Nel mio caso, l'URL era:

 applicazioni cd/urrghmpqks/public_html/ 

cron job WP CLI

Successivamente, è necessario eseguire questo comando:

 elenco eventi wp cron 

cron job WP CLI

È possibile visualizzare il nome dell'hook, il tempo di esecuzione successivo, il relativo relativo all'esecuzione e la ricorrenza (orario pianificato).

Come impostare un vero lavoro Cron

Ora sai cos'è il cron job di WordPress e come funziona. Cosa succede se si desidera sostituirlo con un vero e proprio cron job a causa di qualsiasi motivo come traffico basso, attività importanti che devono essere eseguite in un momento particolare, attacchi DDoS eccessivi o tempo di caricamento della pagina elevato.

Quindi iniziamo!

Passaggio 1: apri e modifica il file wp-config.php

Innanzitutto, devi aprire il file wp-config utilizzando un client FTP come FileZilla o un client SSH come puTTY. Successivamente, modifica il file e posiziona la seguente riga di codice prima della riga in cui dice /* Questo è tutto, smetti di modificare! Buon blog. */

Codice:

 define('DISABLE_WP_CRON', true); 

modifica il file di configurazione wp

Questo codice disabilita gli eventi cron in esecuzione sul tuo sito WordPress e ora puoi creare un vero cron job.

Gestisci i lavori Cron reali tramite la piattaforma Cloudways

Inizia con 3 giorni di prova gratuita

PROVA ORA

Passaggio 2: aggiunta di un nuovo processo Cron al server

Successivamente, accedi alla tua piattaforma Cloudways, quindi vai al pannello Gestione applicazioni > Gestione Cron Job > sezione Avanzate .

aggiungendo un nuovo cron job

Quindi aggiungi il seguente comando e fai clic su Salva modifiche:
*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

scheda cron avanzata

Nel comando precedente, per prima cosa, ho definito un intervallo di cinque minuti per il cron job. È possibile utilizzare questo sito per verificare l'espressione del programma orario. Nel mio caso, */5 * * * * è l'espressione dell'intervallo.

Congratulazioni! Hai aggiunto con successo un vero cron job.

Parole finali!

Spero che questo articolo ti abbia aiutato a capire come funziona il cron job di WordPress. Ho discusso due metodi per gestire i cron job di WordPress; uno tramite un plugin e l'altro tramite WP-CLI. Ho anche discusso su come impostare un vero cron job su un server live.

Se avete domande, fatemelo sapere nella sezione commenti qui sotto.