Cron is een standaard UNIX hulpprogramma voor het plannen van de uitvoering van een taak (script of commando) op een bepaalde tijd, datum of interval. De taak die het gaat uitvoeren staat bekend als een cron job. Zoals je kunt raden, is het doel van een cron job om repetitieve taken te automatiseren, zodat je je tijd productiever kunt gebruiken.
De WordPress cron job is echter iets anders dan de standaard cron, en dat is waarom voordat je in actie en proces duikt, je moet begrijpen wat een WordPress cron is en hoe het werkt.
- Wat is WordPress Cron?
- Hoe een WordPress Cron Job te beheren
- Hoe WordPress Cron Jobs te beheren met Plugin
- Stap 1: Installeer WP Crontrol Plugin
- Stap 2: Bekijk en begrijp Cron Events
- Stap 3: Bewerk Cron Event
- Stap 4: Voeg een aangepast tijdsinterval toe
- Stap 5: Een nieuw Cron Gebeurtenis toevoegen
- Hoe WordPress Cron Jobs te beheren met WP CLI
- Hoe maak je een echte Cron Job
- Stap 1:Open en bewerk wp-config.php bestand
- Stap 2: Een nieuwe cron job aan de server toevoegen
- Final Words!
Wat is WordPress Cron?
WordPress heeft zijn eigen cron systeem voor het plannen van taken, zoals het controleren op updates, het plannen van een post voor publicatie, en het verwijderen van reacties uit de prullenbak. Alle cron-taken worden afgehandeld door WP-Cron.
Hoewel de naam (en het hoofdidee) afkomstig is van UNIX cron, werkt WP-Cron niet zo en gebruikt intervallen voor het plannen van taken. De standaard tijdsintervallen die WordPress biedt zijn om het uur, tweemaal daags, dagelijks en wekelijks. Hier zijn de op tijd gebaseerde taken afhankelijk van gebruikers die je site bezoeken, wat betekent dat WP-Cron alleen wordt uitgevoerd als een gebruiker je website bezoekt.
Met andere woorden, WP-Cron wordt uitgevoerd als de pagina wordt geladen. Soms is dit niet zo betrouwbaar, en dat is de reden waarom veel gebruikers de voorkeur geven aan een cron job op serverniveau boven de WP-Cron job.
In dit artikel ga ik je laten zien hoe je WordPress cron jobs kunt beheren en een echte cron job kunt instellen voor je WordPress site.
Hoe een WordPress Cron Job te beheren
Er zijn vele manieren om WordPress cron jobs in te stellen en te beheren, maar ik zal je twee populaire methoden laten zien.
De eerste maakt gebruik van een cron management plugin zoals WP Crontrol waarmee je WordPress cron jobs kunt toevoegen, wijzigen en beheren direct vanuit het WP dashboard. U kunt ook een cron job maken, haken en functies bouwen, en aangepaste tijdsintervallen voor taken definiëren.
En de tweede methode is met WordPress CLI.
Hoe WordPress Cron Jobs te beheren met Plugin
Ik zal WP Crontrol plugin gebruiken waarmee u WP cron jobs voor uw WordPress applicatie kunt bekijken en beheren. Het is de populaire plugin die wordt gebruikt om WP cron jobs te behandelen en heeft meer dan 100.000 actieve installaties.
Dit is de eenvoudigste methode om WordPress cron jobs te beheren en u kunt snel bekijken, bewerken, maken, verwijderen en kunt nog veel meer doen met WP cron events.
Dus laten we beginnen!
Stap 1: Installeer WP Crontrol Plugin
Net als elke andere plugin, moet je WP Crontrol installeren vanuit de plugin repository en het activeren. Zodra het is geïnstalleerd, zult u merken dat er een nieuwe optie “Cron Events” is verschenen in het tabblad Tools.
Stap 2: Bekijk en begrijp Cron Events
Volgende, moet je Cron Events klikken en je zult een lijst van cron gebeurtenissen die worden uitgevoerd op uw WordPress applicatie te zien.
Van deze sectie, kunt u uitvoeren, bewerken en verwijderen van uw cron gebeurtenissen. U ziet deze optie wanneer u met de muis over een cron event gaat.
U vindt hier ook nuttige informatie over deze cron jobs, en snel te identificeren welke cron job wordt gebruikt voor welk doel en nog veel meer. In de eerste kolom, Hook staat de naam van de hook die gebruikt wordt door de WordPress core of een plugin. Bijvoorbeeld, het voorvoegsel “wp” geeft gewoon aan dat het een cron van WordPress core is. Je zult ook zien dat er geen optie is om deze cron events te verwijderen, maar je kunt wel de edit en run now opties gebruiken. Op dezelfde manier, voor je plugins, zul je zien dat er andere voorvoegsels worden gebruikt (bijvoorbeeld, voor WooCommerce, “wc” of “woocommerce”).
De tweede kolom Argumenten bevat alleen de argumenten die worden doorgegeven aan de hook functies.
De derde kolom laat zien wanneer deze cron job de volgende keer gaat lopen.
De vierde kolom Actie laat zien welke actie deze cron job gaat uitvoeren (de “functie” van de cron job).
De laatste kolom definieert de herhalings timings van de cron jobs. Dit is in feite het tijdsinterval voor de geplande taak.
Stap 3: Bewerk Cron Event
Nu laten we een WP cron job bewerken om deze plugin te testen.
Ga naar de naam van een hook en klik op bewerken. Een nieuwe sectie “Edit Cron Event” zal tevoorschijn komen waar je verschillende velden ziet. In mijn geval, ik bewerkt de “wp_privacy_delete_old_export_files” haak. Vervolgens ga ik de herhaling van deze cron job veranderen in “Every Fifteen Minutes”.
Stap 4: Voeg een aangepast tijdsinterval toe
Volgende, ik zal je laten zien hoe je een aangepast tijdsinterval voor je cron events kunt toevoegen. Klik hiervoor op de “Cron Schedule” tab en een nieuw scherm zal verschijnen waar je de details van de geplande tijdsintervallen ziet. Scroll vervolgens naar beneden waar je “Cron Schedule toevoegen” ziet staan. Vul de velden in en klik op Add Cron Schedule.
Merk op dat de invoer voor het interval in seconden is. Ik zal 600 seconden gebruiken om het interval op 10 minuten in te stellen.
Nu kunt u uw cron gebeurtenis bewerken en vervangen door uw eigen aangepaste interval.
Stap 5: Een nieuw Cron Gebeurtenis toevoegen
Nu weet u hoe u de eenvoudige taken voor uw cron gebeurtenissen kunt beheren, maar wat als u uw eigen cron taak voor uw WordPress toepassing wilt toevoegen. Maak je geen zorgen het is zo eenvoudig en alles wat je hoeft te doen is de onderstaande instructies te volgen.
Klik eerst op Cron Event toevoegen en je komt in de cron toevoegen sectie. Dan, geef een haak naam als je wilt (moet volgen normale PHP naamgeving conventie en geen spaties).
Dan, voeg argumenten (het is optioneel) en in mijn geval is het leeg. Selecteer vervolgens een optie en zet een tijd in het veld Next Run. Als laatste, kies een herhalingstijd (schema tijd) voor uw nieuwe cron en klik Add Event.
Als u vragen heeft over dit dan kunt u de instellingen van elke lopende cron job van uw cron events.
Na het toevoegen van een nieuwe cron job ga dan naar cron events tab en controleer uw nieuw gemaakte cron. Je zult zien dat in de actie kolom None (fout) staat. Dit komt omdat je geen acties hebt gedefinieerd voor deze cron job. Daarom moet je een paar regels code schrijven in het functions.php bestand van het thema en een actie toevoegen.
Note: Voordat je verder gaat, is het sterk aanbevolen om een back-up te maken van de WordPress site.
Open het bestand en voeg de volgende regels code toe direct na <?php:
add_action( 'cloudways_new_cron', 'cw_function' );function cw_function() {wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - a Managed Cloud Hosting!' );}
Verwissel mijn email adres met uw eigen.
U ziet in de bovenstaande afbeelding dat ik het direct heb bewerkt met het WordPress dashboard. Als je wilt, kun je dit bestand ook bewerken via een FTP-client zoals FileZilla.
Volgende, laten we de e-mail inbox controleren en kijken of we het bericht ontvangen.
Tada! Het is klaar en we hebben met succes een nieuwe cron gebeurtenis toegevoegd.
Hoe WordPress Cron Jobs te beheren met WP CLI
U kunt ook al uw WordPress cron jobs bekijken en beheren vanuit WordPress CLI. Bij Cloudways moet u de terminal starten en inloggen met de server credentials.
Volgende, plaats het pad van uw WordPress applicatie. In mijn geval, de URL was :
cd applications/urrghmpqks/public_html/
Volgende, moet u dit commando uit te voeren:
wp cron event list
U kunt de haak naam, volgende run tijd, volgende run relatieve, en herhaling (geplande tijd) te zien.
Hoe maak je een echte Cron Job
Nu, weet je wat WordPress cron job is en hoe het werkt. Wat als u het wilt vervangen door een echte cron job om welke reden dan ook, zoals weinig verkeer, belangrijke taken die op een bepaald tijdstip moeten worden uitgevoerd, overmatige DDoS-aanvallen of een hoge laadtijd van de pagina.
Dus laten we aan de slag gaan!
Stap 1:Open en bewerk wp-config.php bestand
Eerst moet u het wp-config bestand openen met behulp van een FTP client zoals FileZilla of SSH client zoals puTTY. Daarna bewerkt u het bestand en plaatst u de volgende regel code vóór de regel waar /* staat. Dat is alles, stop met bewerken! Veel plezier met bloggen. */
Code:
define('DISABLE_WP_CRON', true);
Deze code schakelt de lopende cron events op uw WordPress site uit en nu kunt u een echte cron job aanmaken.
Stap 2: Een nieuwe cron job aan de server toevoegen
Volgende, logt u in op uw Cloudways platform en gaat u naar het Applicatie Beheer paneel > Cron Job Management > Geavanceerde sectie.
Voeg vervolgens de volgende opdracht toe en klik op Wijzigingen opslaan:*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
In de bovenstaande opdracht heb ik eerst een interval van vijf minuten gedefinieerd voor de crontaak. U kunt deze site gebruiken om de tijdschema uitdrukking te controleren. In mijn geval, */5 * * * *
is de interval expressie.
Gefeliciteerd! U heeft met succes een echte cron job toegevoegd.
Final Words!
Ik hoop dat dit artikel u heeft geholpen te begrijpen hoe WordPress cron job werkt. Ik heb twee methoden besproken om WordPress cron jobs te beheren; een via een plugin en de andere via WP-CLI. Ik heb ook besproken hoe je een echte cron job op een live server kunt instellen.