Cron este un utilitar standard UNIX pentru programarea executării unei sarcini (script sau comandă) la o anumită oră, dată sau interval. Sarcina pe care urmează să o execute este cunoscută sub numele de cron job. După cum puteți ghici, scopul unui cron job este de a automatiza sarcinile repetitive, astfel încât să vă puteți folosi timpul în mod mai productiv.
Cu toate acestea, cron job-ul WordPress este ușor diferit de cron-ul standard, și de aceea, înainte de a vă arunca în acțiune și în proces, trebuie să înțelegeți ce este un cron WordPress și cum funcționează.
- Ce este WordPress Cron?
- Cum să gestionați un WordPress Cron Job
- Cum să gestionați WordPress Cron Jobs cu Plugin
- Pasul 1: Instalați WP Control Plugin
- Step 2: View and Understand Cron Events
- Pasul 3: Editarea evenimentului cron
- Pasul 4: Adăugarea unui interval de timp personalizat
- Pasul 5: Adăugarea unui nou eveniment cron
- Cum să gestionați lucrările cron WordPress cu WP CLI
- Cum să configurați un cron job real
- Pasul 1: Deschideți și editați fișierul wp-config.php
- Pasul 2: Adăugarea unui nou cron job pe server
- Cuvinte finale!
Ce este WordPress Cron?
WordPress are propriul său sistem cron pentru programarea sarcinilor, cum ar fi verificarea actualizărilor, programarea unei postări pentru publicare și ștergerea comentariilor din coșul de gunoi. Toate sarcinile cron sunt gestionate de WP-Cron.
În timp ce numele (și ideea principală) provine de la UNIX cron, WP-Cron nu funcționează astfel și folosește intervale pentru programarea sarcinilor. Intervalele de timp prestabilite furnizate de WordPress sunt: la fiecare oră, de două ori pe zi, zilnic și săptămânal. Aici, sarcinile bazate pe timp depind de utilizatorii care vă vizitează site-ul, ceea ce înseamnă că WP-Cron se va executa numai dacă un utilizator vă vizitează site-ul web.
Cu alte cuvinte, WP-Cron se execută atunci când se încarcă pagina. Uneori, acest lucru nu este atât de fiabil și, de aceea, mulți utilizatori preferă o sarcină cron la nivel de server în locul sarcinii WP-Cron.
În acest articol, vă voi arăta cum să gestionați sarcinile cron WordPress și să configurați o sarcină cron reală pentru site-ul dvs. WordPress.
Cum să gestionați un WordPress Cron Job
Există multe moduri de a configura și gestiona WordPress cron jobs, dar vă voi arăta două metode populare.
Primul utilizează un plugin de gestionare cron, cum ar fi WP Cronrol, care vă permite să adăugați, să modificați și să gestionați WordPress cron jobs direct din tabloul de bord WP. Puteți, de asemenea, să creați un cron job, să construiți cârlige și funcții și să definiți intervale de timp personalizate pentru sarcini.
Și a doua metodă este cu WordPress CLI.
Cum să gestionați WordPress Cron Jobs cu Plugin
Voi folosi pluginul WP Crontrol care vă permite să vizualizați și să controlați WP cron jobs pentru aplicația WordPress. Este pluginul popular folosit pentru a gestiona lucrările cron WP și are mai mult de 100.000 de instalări active.
Aceasta este cea mai ușoară metodă de gestionare a lucrărilor cron WordPress și puteți vizualiza, edita, crea, șterge și puteți face rapid multe altele cu evenimentele cron WP.
Așa că haideți să începem!
Pasul 1: Instalați WP Control Plugin
La fel ca orice alt plugin, trebuie să instalați WP Cronrol din depozitul de pluginuri și să îl activați. După ce este instalat, veți observa că a apărut o nouă opțiune „Cron Events” în fila Tools.
Step 2: View and Understand Cron Events
În continuare, trebuie să faceți clic pe Cron Events și veți vedea o listă de evenimente cron care rulează pe aplicația WordPress.
Din această secțiune, puteți rula, edita și șterge evenimentele cron. Veți vedea această opțiune atunci când treceți cu mouse-ul peste orice eveniment cron.
Vă veți găsi, de asemenea, informații utile despre aceste cron jobs și veți identifica rapid care cron job este folosit în ce scop și multe altele. În prima coloană, Hook arată numele cârligului utilizat de nucleul WordPress sau de orice plugin. De exemplu, prefixul „wp” arată pur și simplu că este un cron al nucleului WordPress. Veți observa, de asemenea, că nu există nicio opțiune de ștergere a acestor evenimente cron, însă puteți utiliza opțiunile Edit și Run Now. În mod similar, pentru pluginurile dvs. veți observa că se folosesc alte prefixe (de exemplu, pentru WooCommerce, „wc” sau „woocommerce”).
Cea de-a doua coloană Arguments conține doar argumentele care sunt transmise funcțiilor de cârlig.
Cea de-a treia coloană arată când va rula data viitoare acest cron job.
Cea de-a patra coloană Action arată ce acțiune va efectua acest cron („funcția” cron job-ului).
Ultima coloană definește timpii de recurență ai cron job-urilor. Acesta este, practic, intervalul de timp pentru sarcina programată.
Pasul 3: Editarea evenimentului cron
Acum să edităm o sarcină cron WP pentru a testa acest plugin.
Vă la numele unui cârlig și faceți clic pe editare. Se va deschide o nouă secțiune „Edit Cron Event” unde veți vedea diferite câmpuri. În cazul meu, am editat cârligul „wp_privacy_delete_old_export_files”. În continuare, voi schimba recurența acestui job cron în „La fiecare cincisprezece minute”.
Pasul 4: Adăugarea unui interval de timp personalizat
În continuare, vă voi arăta cum să adăugați un interval de timp personalizat pentru evenimentele cron. Pentru aceasta, faceți clic pe fila „Cron Schedule” și va apărea un nou ecran în care veți vedea detaliile intervalelor de timp programate. Apoi, derulați în jos până în partea de jos, unde veți vedea „Add Cron Schedule”. Completați câmpurile și faceți clic pe Add Cron Schedule.
Rețineți că datele introduse pentru intervalul de timp sunt în secunde. Voi folosi 600 de secunde pentru a seta intervalul la 10 minute.
Acum puteți edita evenimentul cron și îl puteți înlocui cu propriul interval personalizat.
Pasul 5: Adăugarea unui nou eveniment cron
Acum știți cum să gestionați sarcinile simple pentru evenimentele cron, dar ce se întâmplă dacă doriți să adăugați propria sarcină cron pentru aplicația dumneavoastră WordPress. Nu vă faceți griji, este atât de simplu și tot ce trebuie să faceți este să urmați instrucțiunile de mai jos.
În primul rând, faceți clic pe Add Cron Event și veți intra în secțiunea de adăugare cron. Apoi, dați un nume de cârlig așa cum doriți (ar trebui să urmeze convenția normală de denumire PHP și fără spații).
Apoi, adăugați argumente (este opțional) și în cazul meu este gol. Și apoi, selectați orice opțiune și puneți o oră în câmpul Next Run. În cele din urmă, alegeți un timp de recurență (timp de programare) pentru noul cron și faceți clic pe Add Event.
Dacă aveți întrebări cu privire la acest lucru, atunci puteți verifica setările oricărei sarcini cron în curs de execuție din evenimentele cron.
După adăugarea unei noi sarcini cron, apoi mergeți la fila cron events și verificați cronul dvs. nou creat. Veți observa că în coloana de acțiune vă va arăta None (eroare). Acest lucru se datorează faptului că nu ați definit nicio acțiune pentru acest cron job. Prin urmare, trebuie să scrieți câteva linii de cod în fișierul functions.php al temei și să adăugați o acțiune.
Nota: Înainte de a merge mai departe, este foarte recomandat să faceți o copie de rezervă a site-ului WordPress.
Să deschidem fișierul și să adăugăm următoarele linii de cod imediat după <?php:
add_action( 'cloudways_new_cron', 'cw_function' );function cw_function() {wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - a Managed Cloud Hosting!' );}
Nu uitați să înlocuiți adresa mea de e-mail cu a dumneavoastră.
Puteți vedea în imaginea de mai sus, am editat-o direct cu tabloul de bord WordPress. Dacă doriți, puteți edita acest fișier prin intermediul unui client FTP, cum ar fi FileZilla.
În continuare, să verificăm căsuța de e-mail și să vedem dacă primim mesajul.
Tada! S-a făcut și am adăugat cu succes un nou eveniment cron.
Cum să gestionați lucrările cron WordPress cu WP CLI
De asemenea, puteți vizualiza și gestiona toate lucrările cron WordPress din WordPress CLI. La Cloudways, trebuie să lansați terminalul și să vă conectați cu acreditările serverului.
În continuare, plasați calea aplicației WordPress. În cazul meu, URL-ul a fost :
cd applications/urrghmpqks/public_html/
În continuare, trebuie să rulați această comandă:
wp cron event list
Puteți vedea numele cârligului, următoarea oră de execuție, următoarea rudă de execuție și recurența (ora programată).
Cum să configurați un cron job real
Acum, știți ce este cron job-ul WordPress și cum funcționează. Ce se întâmplă dacă doriți să îl înlocuiți cu un cron job real din orice motiv, cum ar fi traficul scăzut, sarcini importante care trebuie să fie executate la un anumit moment, atacuri DDoS excesive sau timp mare de încărcare a paginilor.
Așa că haideți să începem!
Pasul 1: Deschideți și editați fișierul wp-config.php
În primul rând, trebuie să deschideți fișierul wp-config folosind un client FTP precum FileZilla sau un client SSH precum puTTY. După aceea, editați fișierul și plasați următoarea linie de cod înainte de linia în care scrie /* Asta e tot, nu mai editați! Bloguri fericite. */
Cod:
define('DISABLE_WP_CRON', true);
Acest cod dezactivează evenimentele cron care rulează pe site-ul dvs. WordPress și acum puteți crea un adevărat cron job.
Pasul 2: Adăugarea unui nou cron job pe server
În continuare, conectați-vă la platforma Cloudways, apoi mergeți la panoul Application Management > Cron Job Management > secțiunea Advanced.
Apoi adăugați următoarea comandă și faceți clic pe Save Changes:*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
În comanda de mai sus, în primul rând, am definit un interval de cinci minute pentru cron job. Puteți utiliza acest site pentru a verifica expresia programului orar. În cazul meu, */5 * * * *
este expresia intervalului.
Felicitări! Ați adăugat cu succes un cron job real.
Cuvinte finale!
Sper că acest articol v-a ajutat să înțelegeți cum funcționează cron job-ul WordPress. Am discutat două metode pentru a gestiona WordPress cron jobs; una prin intermediul unui plugin și cealaltă prin WP-CLI. Am discutat, de asemenea, cum să configurez un cron job real pe un server live.
.