Cron er et standard UNIX-værktøj til planlægning af opgaveudførelse (script eller kommando) på et bestemt tidspunkt, på en bestemt dato eller i et bestemt interval. Den opgave, som det skal udføre, er kendt som et cron-job. Som du kan gætte, er formålet med et cronjob at automatisere gentagne opgaver, så du kan bruge din tid mere produktivt.
Det WordPress cronjob er imidlertid lidt anderledes end standard cron, og derfor skal du, før du dykker ned i handling og proces, forstå, hvad et WordPress cron er, og hvordan det fungerer.
- Hvad er WordPress Cron?
- Sådan administrerer du et WordPress-cronjob
- Sådan administrerer du WordPress Cron Jobs med Plugin
- Stræk 1: Installer WP Control Plugin
- Stræk 2: Se og forstå Cron Events
- Stræk 3: Rediger cronbegivenhed
- Stræk 4: Tilføjelse af et brugerdefineret tidsinterval
- Stræk 5: Tilføjelse af en ny cronbegivenhed
- Sådan administrerer du WordPress-cronjobs med WP CLI
- Sådan konfigurerer du et rigtigt Cron Job
- Stræk 1:Åbn og rediger wp-config.php-filen
- Stræk 2: Tilføjelse af et nyt cronjob til serveren
- Slutord!
Hvad er WordPress Cron?
WordPress har sit eget cron-system til planlægning af opgaver som f.eks. kontrol af opdateringer, planlægning af et indlæg til offentliggørelse og sletning af kommentarer fra papirkurven. Alle cron-opgaver håndteres af WP-Cron.
Mens navnet (og hovedidéen) kommer fra UNIX cron, fungerer WP-Cron ikke på den måde og bruger intervaller til planlægning af opgaver. De standardtidsintervaller, der leveres af WordPress, er hver time, to gange dagligt, dagligt og ugentligt. Her er de tidsbaserede opgaver afhængige af, at brugerne besøger dit websted, hvilket betyder, at WP-Cron kun udføres, hvis en bruger besøger dit websted.
Med andre ord udføres WP-Cron, når siden indlæses. Nogle gange er dette ikke så pålideligt, og derfor foretrækker mange brugere et cronjob på serverniveau frem for WP-Cron-jobbet.
I denne artikel vil jeg vise dig, hvordan du administrerer WordPress-cronjobs og opretter et rigtigt cronjob til dit WordPress-websted.
Sådan administrerer du et WordPress-cronjob
Der er mange måder at oprette og administrere WordPress-cronjobs på, men jeg vil vise dig to populære metoder.
Den første bruger et cron-håndteringsplugin som WP Crontrol, der giver dig mulighed for at tilføje, ændre og administrere WordPress-cronjobs direkte fra WP-dashboardet. Du kan også oprette et cronjob, bygge kroge og funktioner og definere brugerdefinerede tidsintervaller for opgaver.
Og den anden metode er med WordPress CLI.
Sådan administrerer du WordPress Cron Jobs med Plugin
Jeg vil bruge WP Crontrol plugin, der giver dig mulighed for at se og styre WP cron jobs for din WordPress-applikation. Det er det populære plugin, der bruges til at håndtere WP cron-jobs og har mere end 100.000 aktive installationer.
Dette er den nemmeste metode til at administrere WordPress cron-jobs, og du kan hurtigt se, redigere, oprette, oprette, slette og kan gøre meget mere med WP cron-begivenheder.
Så lad os komme i gang!
Stræk 1: Installer WP Control Plugin
Sådan som ethvert andet plugin skal du installere WP Crontrol fra plugin-repositoriet og aktivere det. Når det er installeret, vil du bemærke, at en ny indstilling “Cron Events” er dukket op under fanen Værktøjer.
Stræk 2: Se og forstå Cron Events
Næst skal du klikke på Cron Events, og du vil se en liste over cronbegivenheder, der kører på din WordPress-applikation.
Fra dette afsnit kan du køre, redigere og slette dine cronbegivenheder. Du vil se denne mulighed, når du holder musen over en cronhændelse.
Du kan også finde nyttige oplysninger om disse cronjobs og hurtigt identificere, hvilket cronjob der bruges til hvilket formål og meget mere. I den første kolonne viser Hook navnet på den hook, der bruges af WordPress-kernen eller et plugin. For eksempel viser præfikset “wp” blot, at det er en cron af WordPress-kernen. Du vil også bemærke, at der ikke er nogen mulighed for at slette disse cron-hændelser, men du kan bruge rediger og kør nu indstillingerne. På samme måde vil du for dine plugins bemærke, at der bruges andre præfikser (for eksempel for WooCommerce, “wc” eller “woocommerce”).
Den anden kolonne Arguments indeholder blot de argumenter, der sendes til hook-funktionerne.
Den tredje kolonne viser, hvornår dette cronjob skal køres næste gang.
Den fjerde kolonne Action viser, hvilken handling dette cronjob skal udføre (cronjobets “funktion”).
Den sidste kolonne definerer gentagelsestidspunkterne for cronjobbene. Dette er grundlæggende tidsintervallet for den planlagte opgave.
Stræk 3: Rediger cronbegivenhed
Nu skal vi redigere et WP-cronjob for at teste dette plugin.
Gå til en hooks navn, og klik på rediger. Et nyt afsnit “Edit Cron Event” vil poppe op, hvor du vil se forskellige felter. I mit tilfælde redigerede jeg krogen “wp_privacy_delete_old_export_files”. Dernæst ændrer jeg gentagelsen af dette cronjob til “Every Fifteen Minutes”.
Stræk 4: Tilføjelse af et brugerdefineret tidsinterval
Næste gang vil jeg vise dig, hvordan du tilføjer et brugerdefineret tidsinterval til dine cronbegivenheder. Til dette skal du klikke på fanen “Cron Schedule”, og der vises et nyt skærmbillede, hvor du kan se detaljerne for de planlagte tidsintervaller. Rul derefter ned til bunden, hvor du vil se “Add Cron Schedule”. Udfyld felterne, og klik på Add Cron Schedule.
Bemærk, at indtastningen for intervallet er i sekunder. Jeg vil bruge 600 sekunder for at indstille intervallet til 10 minutter.
Nu kan du redigere din cronbegivenhed og erstatte den med dit eget brugerdefinerede interval.
Stræk 5: Tilføjelse af en ny cronbegivenhed
Nu ved du, hvordan du administrerer de enkle opgaver for dine cronbegivenheder, men hvad nu, hvis du vil tilføje dit eget cronjob til din WordPress-applikation. Bare rolig, det er så simpelt, og alt du skal gøre er at følge instruktionerne nedenfor.
Først skal du klikke på Tilføj cronbegivenhed, og du kommer ind i afsnittet Tilføj cron. Derefter skal du bare give et hook-navn som du ønsker (skal følge normal PHP-navnekonvention og ingen mellemrum).
Dernæst skal du tilføje argumenter (det er valgfrit), og i mit tilfælde er det tomt. Og derefter skal du vælge en valgmulighed og sætte et tidspunkt i feltet Next Run (Næste kørsel). Sidst skal du vælge et gentagelsestidspunkt (planlægningstidspunkt) for din nye cron og klikke på Tilføj begivenhed.
Hvis du har spørgsmål vedrørende dette, kan du kontrollere indstillingerne for ethvert kørende cronjob fra dine cronbegivenheder.
Når du har tilføjet et nyt cronjob, skal du gå til fanen cronbegivenheder og kontrollere din nyoprettede cron. Du vil bemærke, at i kolonnen handling vil den vise dig None (fejl). Dette skyldes, at du ikke har defineret nogen handlinger for dette cronjob. Derfor skal du skrive et par linjer kode i functions.php-filen i temaet og tilføje en handling.
Note: Før du går videre, anbefales det stærkt at tage en backup af WordPress-webstedet.
Lad os åbne filen og tilføje følgende kodelinjer lige efter <?php:
add_action( 'cloudways_new_cron', 'cw_function' );function cw_function() {wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - a Managed Cloud Hosting!' );}
Glem ikke at erstatte min e-mail-adresse med din egen.
Du kan se i ovenstående billede, jeg redigerede det direkte med WordPress dashboardet. Hvis du ønsker det, kan du redigere denne fil via en FTP-klient som FileZilla.
Næste, lad os tjekke e-mailindbakken og se, om vi modtager meddelelsen.
Tada! Det er gjort, og vi har med succes tilføjet en ny cronbegivenhed.
Sådan administrerer du WordPress-cronjobs med WP CLI
Du kan også se og administrere alle dine WordPress-cronjobs fra WordPress CLI. På Cloudways skal du starte terminalen og logge ind med serverens legitimationsoplysninger.
Næst skal du placere stien til dit WordPress-program. I mit tilfælde var URL’en :
cd applications/urrghmpqks/public_html/
Næst skal du køre denne kommando:
wp cron event list
Du kan se hook-navnet, næste kørselstidspunkt, næste kørselsrelativ og gentagelse (planlagt tid).
Sådan konfigurerer du et rigtigt Cron Job
Nu ved du, hvad WordPress cron job er, og hvordan det fungerer. Hvad hvis du vil erstatte det med et rigtigt cronjob på grund af en eller anden grund som lav trafik, vigtige opgaver, der skal køres på et bestemt tidspunkt, overdrevne DDoS-angreb eller høj sideindlæsningstid.
Så lad os komme i gang!
Stræk 1:Åbn og rediger wp-config.php-filen
Først skal du åbne wp-config-filen ved hjælp af en FTP-klient som FileZilla eller en SSH-klient som puTTY. Herefter skal du redigere filen og placere følgende kodelinje før den linje, hvor der står /* Det er alt, stop redigeringen! God fornøjelse med at blogge. */
Kode:
define('DISABLE_WP_CRON', true);
Denne kode deaktiverer de kørende cron-hændelser på dit WordPress-websted, og nu kan du oprette et rigtigt cronjob.
Stræk 2: Tilføjelse af et nyt cronjob til serveren
Næst skal du logge ind på din Cloudways-platform og derefter gå til panelet Application Management > Cron Job Management > Avanceret sektion.
Føj derefter følgende kommando til, og klik på Gem ændringer:*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
I ovenstående kommando definerede jeg først et interval på fem minutter for cron-jobbet. Du kan bruge dette websted til at kontrollere tidsplanudtrykket. I mit tilfælde er */5 * * * *
intervaludtrykket.
Godt tillykke! Det er lykkedes dig at tilføje et rigtigt cronjob.
Slutord!
Jeg håber, at denne artikel hjalp dig med at forstå, hvordan WordPress cronjob fungerer. Jeg har diskuteret to metoder til at administrere WordPress cronjobs; den ene gennem et plugin og den anden gennem WP-CLI. Jeg har også diskuteret, hvordan du opretter et rigtigt cronjob på en live-server.