Cron är ett standard UNIX-verktyg för att schemalägga utförandet av uppgifter (skript eller kommandon) vid en viss tidpunkt, ett visst datum eller ett visst intervall. Uppgiften som det ska utföra är känd som ett cronjobb. Som du kan gissa är syftet med ett cronjobb att automatisera repetitiva uppgifter så att du kan använda din tid mer produktivt.
Men WordPress cronjobb skiljer sig något från standard cron, och det är därför som du innan du dyker ner i handling och process måste du förstå vad en WordPress cron är och hur den fungerar.
- Vad är WordPress Cron?
- Hur man hanterar ett WordPress-cronjobb
- Hur man hanterar WordPress Cronjobb med plugin
- Steg 1: Installera WP Control Plugin
- Steg 2: Visa och förstå Cron Events
- Steg 3: Redigera cronhändelse
- Steg 4: Lägga till ett anpassat tidsintervall
- Steg 5: Lägga till en ny cronhändelse
- Hur man hanterar WordPress-cronjobb med WP CLI
- Hur du konfigurerar ett riktigt cronjobb
- Steg 1: Öppna och redigera filen wp-config.php
- Steg 2: Lägga till ett nytt cronjobb på servern
- Slutord!
Vad är WordPress Cron?
WordPress har sitt eget cron-system för schemaläggning av uppgifter som att kontrollera om det finns uppdateringar, schemalägga ett inlägg för publicering och radera kommentarer från papperskorgen. Alla cron-jobb hanteras av WP-Cron.
Men även om namnet (och huvudidén) kommer från UNIX cron fungerar WP-Cron inte på det sättet utan använder intervaller för schemaläggning av uppgifter. De standardtidsintervall som tillhandahålls av WordPress är varje timme, två gånger om dagen, dagligen och veckovis. Här är de tidsbaserade uppgifterna beroende av att användarna besöker din webbplats, vilket innebär att WP-Cron endast utförs om en användare besöker din webbplats.
Med andra ord utförs WP-Cron när sidan laddas upp. Ibland är detta inte så tillförlitligt och det är därför många användare föredrar ett cron-jobb på servernivå framför WP-Cron-jobb.
I den här artikeln kommer jag att visa dig hur du hanterar WordPress cron-jobb och konfigurerar ett riktigt cron-jobb för din WordPress-webbplats.
Hur man hanterar ett WordPress-cronjobb
Det finns många sätt att konfigurera och hantera WordPress-cronjobb, men jag kommer att visa dig två populära metoder.
Den första använder ett cronhanteringsinsticksprogram som WP Crontrol som gör att du kan lägga till, ändra och hantera WordPress-cronjobb direkt från WP-instrumentpanelen. Du kan också skapa ett cronjobb, bygga krokar och funktioner och definiera anpassade tidsintervall för uppgifter.
Och den andra metoden är med WordPress CLI.
Hur man hanterar WordPress Cronjobb med plugin
Jag kommer att använda WP Crontrol-plugin som gör det möjligt för dig att visa och styra WP cronjobb för ditt WordPress-program. Det är det populära plugin som används för att hantera WP cron jobb och har mer än 100 000 aktiva installationer.
Det här är den enklaste metoden för att hantera WordPress cron jobb och du kan snabbt visa, redigera, skapa, ta bort och kan göra mycket mer med WP cron händelser.
Så låt oss komma igång!
Steg 1: Installera WP Control Plugin
Som alla andra plugin måste du installera WP Crontrol från plugin repository och aktivera det. När det är installerat kommer du att märka att ett nytt alternativ ”Cron Events” har dykt upp på fliken Verktyg.
Steg 2: Visa och förstå Cron Events
Nästan måste du klicka på Cron Events och du kommer att se en lista över cronhändelser som körs på din WordPress-applikation.
Från det här avsnittet kan du köra, redigera och ta bort dina cronhändelser. Du ser det här alternativet när du för musen över en cronhändelse.
Du hittar också användbar information om dessa cronjobb och kan snabbt identifiera vilket cronjobb som används för vilket ändamål och mycket mer. I den första kolumnen visar Hook namnet på den hook som används av WordPress-kärnan eller något plugin. Till exempel visar prefixet ”wp” helt enkelt att det är en cron för WordPress core. Du kommer också att märka att det inte finns något alternativ för att radera dessa cronhändelser men du kan använda alternativen redigera och köra nu. På samma sätt kommer du att märka att andra prefix används för dina plugins (till exempel för WooCommerce, ”wc” eller ”woocommerce”).
Den andra kolumnen Arguments innehåller bara de argument som skickas till hook-funktionerna.
Den tredje kolumnen visar när det här cronjobbet ska köras nästa gång.
Den fjärde kolumnen Action visar vilken åtgärd det här cronjobbet ska utföra (cronjobbets ”funktion”).
Den sista kolumnen definierar återkommande tider för cronjobben. Detta är i princip tidsintervallet för den schemalagda uppgiften.
Steg 3: Redigera cronhändelse
Nu ska vi redigera ett WP-cronjobb för att testa det här insticksprogrammet.
Gå till en kroks namn och klicka på redigera. Ett nytt avsnitt ”Edit Cron Event” kommer att dyka upp där du kommer att se olika fält. I mitt fall redigerade jag kroken ”wp_privacy_delete_old_export_files”. Därefter ändrar jag återkommande för det här cronjobbet till ”Every Fifteen Minutes”.
Steg 4: Lägga till ett anpassat tidsintervall
Nästan ska jag visa dig hur du lägger till ett anpassat tidsintervall för dina cronhändelser. För detta klickar du på fliken ”Cron Schedule” och en ny skärm visas där du kan se detaljerna för de schemalagda tidsintervallen. Scrolla sedan ner till botten där du ser ”Add Cron Schedule”. Fyll i fälten och klicka på Add Cron Schedule.
Notera att inmatningen för intervallet är i sekunder. Jag kommer att använda 600 sekunder för att ställa in intervallet till 10 minuter.
Nu kan du redigera din cronhändelse och ersätta den med ditt eget anpassade intervall.
Steg 5: Lägga till en ny cronhändelse
Nu vet du hur du ska hantera de enkla uppgifterna för dina cronhändelser, men vad händer om du vill lägga till ett eget cronjobb för ditt WordPress-program. Oroa dig inte, det är så enkelt och allt du behöver göra är att följa instruktionerna nedan.
Först klickar du på Add Cron Event (Lägg till cronhändelse) så kommer du till avsnittet Add cron. Sedan ger du bara en hook namn som du vill (bör följa normal PHP-namnkonvention och inga mellanslag).
Därefter lägger du till argument (det är valfritt) och i mitt fall är det tomt. Därefter väljer du ett valfritt alternativ och anger en tid i fältet Next Run (Nästa körning). Till sist väljer du en återkommande tid (schematid) för din nya cron och klickar på Lägg till händelse.
Om du har några frågor om detta kan du kontrollera inställningar för ett pågående cronjobb från dina cronhändelser.
När du har lagt till ett nytt cronjobb går du till fliken cronhändelser och kontrollerar din nyskapade cron. Du kommer att märka att i kolumnen action visas None (fel). Detta beror på att du inte har definierat några åtgärder för det här cronjobbet. Därför måste du skriva några rader kod i functions.php-filen för temat och lägga till en åtgärd.
Notera: Innan du går vidare rekommenderas det starkt att säkerhetskopiera WordPress-webbplatsen.
Låt oss öppna filen och lägga till följande rader kod precis efter <?php:
add_action( 'cloudways_new_cron', 'cw_function' );function cw_function() {wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - a Managed Cloud Hosting!' );}
Glöm inte att ersätta min e-postadress med din egen.
Du kan se i bilden ovan att jag redigerade den direkt med WordPress instrumentpanel. Om du vill kan du redigera den här filen via en FTP-klient som FileZilla.
Nästan, låt oss kolla inkorgen för e-post och se om vi får meddelandet.
Tada! Det är gjort och vi har framgångsrikt lagt till en ny cronhändelse.
Hur man hanterar WordPress-cronjobb med WP CLI
Du kan också visa och hantera alla dina WordPress-cronjobb från WordPress CLI. På Cloudways måste du starta terminalen och logga in med serverns autentiseringsuppgifter.
Nästan, placera sökvägen till din WordPress-applikation. I mitt fall var webbadressen :
cd applications/urrghmpqks/public_html/
Nästan måste du köra det här kommandot:
wp cron event list
Du kan se kroknamnet, nästa körningstid, nästa körningsrelativ och återkommande (schemalagd tid).
Hur du konfigurerar ett riktigt cronjobb
Nu vet du vad WordPress cronjobb är och hur det fungerar. Vad händer om du vill ersätta det med ett riktigt cronjobb på grund av någon anledning som låg trafik, viktiga uppgifter som måste köras vid en viss tidpunkt, överdrivna DDoS-attacker eller hög sidladdningstid.
Så låt oss komma igång!
Steg 1: Öppna och redigera filen wp-config.php
Först måste du öppna filen wp-config med hjälp av en FTP-klient som FileZilla eller en SSH-klient som puTTY. Därefter redigerar du filen och placerar följande kodrad före raden där det står /* That’s all, stop editing! Lycka till med bloggandet. */
Kod:
define('DISABLE_WP_CRON', true);
Denna kod inaktiverar de löpande cronhändelserna på din WordPress-webbplats och nu kan du skapa ett riktigt cronjobb.
Steg 2: Lägga till ett nytt cronjobb på servern
Nästan loggar du in på din Cloudways-plattform och går sedan till panelen Application Management (Programhanteringspanel) > Cron Job Management (Cronjobbshantering) > Advanced (Avancerat).
Följ sedan in följande kommando och klicka på Spara ändringar:*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
I kommandot ovan definierade jag först ett intervall på fem minuter för cronjobbet. Du kan använda den här webbplatsen för att kontrollera tidsschemauttrycket. I mitt fall är */5 * * * *
intervalluttrycket.
Grattis! Du har framgångsrikt lagt till ett riktigt cronjobb.
Slutord!
Jag hoppas att den här artikeln hjälpte dig att förstå hur WordPress cronjobb fungerar. Jag har diskuterat två metoder för att hantera WordPress cronjobb; en genom ett plugin och den andra genom WP-CLI. Jag har också diskuterat hur man ställer in ett riktigt cronjobb på en levande server.