Come gestire i lavori Cron di WordPress

Pubblicato: 2021-05-14
lavoro 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 cron di WordPress?" un secondo vicino.

La risposta è semplice: usa uno 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 plug-in
      • Passaggio 1: installa il plug-in di controllo WP
      • Passaggio 2: visualizza e comprendi gli eventi Cron
      • Passaggio 3: modifica l'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 di attività (script o comando) a un'ora, una data o un intervallo specifici. L'attività che verrà eseguita è nota come cron job. Come puoi immaginare, lo scopo di un lavoro cron è 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 immergerti nell'azione e nel processo, devi capire 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 gli 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.

Hosting WordPress gestito a partire da $ 10 al mese

Aggiungi e pianifica lavori cron con assoluta facilità sulla piattaforma di hosting cloud più veloce.

3 GIORNI DI PROVA GRATUITA

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 Cron Job di WordPress

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

Il primo utilizza un plug-in di gestione cron come WP Crontrol che consente di aggiungere, modificare e gestire i lavori cron 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 plug-in

Userò il plug-in 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 plug-in, è necessario installare WP Crontrol dal repository dei plug-in e attivarlo. Una volta installato, noterai che è apparsa una nuova opzione "Cron Events" nella scheda Strumenti .

eventi cron

Passaggio 2: visualizza e comprendi gli eventi Cron

Successivamente, devi fare clic su Cron Events 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 lavori cron e identificherai rapidamente quale lavoro cron 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 plugin. 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 di 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 lavoro cron verrà eseguito la prossima volta.

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

Passaggio 3: modifica l'evento Cron

Ora modifichiamo un lavoro cron WP per testare questo plugin.

Vai al nome di un hook e fai clic su modifica . Apparirà una nuova sezione " Modifica evento Cron " in cui vedrai diversi campi. Nel mio caso, ho modificato l'hook "wp_privacy_delete_old_export_files". Successivamente, cambierò la ricorrenza di questo lavoro cron 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 in cui 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

Si noti 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 desideri aggiungere il tuo lavoro cron per la tua applicazione WordPress. Non preoccuparti, è così semplice e tutto ciò che devi fare è seguire le istruzioni di seguito.

Innanzitutto, fai clic su Aggiungi evento Cron e entrerai nella sezione aggiungi cron. Quindi, basta dare un nome 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 tempo nel campo Prossima esecuzione . Infine, scegli un orario di ricorrenza (orario di pianificazione) per il tuo nuovo cron e fai clic su Aggiungi evento .

aggiungi evento cron

Se hai domande in merito, puoi controllare le impostazioni di qualsiasi lavoro cron in esecuzione dai tuoi eventi cron.

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

nessuno errore

Nota: prima di andare oltre, 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');
funzione cw_funzione() {
wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - un hosting cloud 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.

cron e-mail

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. In 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, l'ora di esecuzione successiva, la relativa relativa esecuzione e la ricorrenza (ora pianificata).

Come impostare un vero lavoro Cron

Ora sai cos'è il cron job di WordPress e come funziona. Che cosa succede se si desidera sostituirlo con un vero lavoro cron per qualsiasi motivo come traffico ridotto, attività importanti che devono essere eseguite in un determinato momento, attacchi DDoS eccessivi o tempo di caricamento della pagina elevato.

Quindi iniziamo!

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

Innanzitutto, è necessario 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 lavoro cron.

Passaggio 2: aggiunta di un nuovo processo Cron al server

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

aggiungendo un nuovo lavoro cron

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, in primo luogo, ho definito un intervallo di cinque minuti per il lavoro cron. È possibile utilizzare questo sito per controllare l'espressione del programma orario. Nel mio caso, */5 * * * * è l'espressione dell'intervallo.

Congratulazioni! Hai aggiunto con successo un vero lavoro cron.

Parole finali!

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

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