Hoe maak en wijzig je een WordPress Cron Job

Rifat WordPress-plug-ins Jul 4, 2023

Cron is een hulpprogramma dat vaak wordt gebruikt in Unix/Linux-systemen om opdrachten of scripts te plannen op een webserver die op de achtergrond werkt. Een cron-taak verwijst naar een specifieke taak die is gepland om op vooraf bepaalde vaste tijden, datums of intervallen te worden uitgevoerd. Dergelijke taken zijn vaak repetitief en geautomatiseerd om de efficiëntie te verbeteren. In het geval van WordPress wordt de WP-Cron-functie gebruikt om een ​​systeemcron te emuleren.

Voorbeelden van WordPress cron jobs kunnen het plannen van de publicatie van een bericht zijn of het uitvoeren van een back-up plug-in volgens een vooraf bepaald tijdschema. De focus van deze discussie is om uitgebreide begeleiding te bieden voor het moeiteloos maken, wijzigen en uitvoeren van een cronjob voor WordPress.

Hoe een cron-taak in WordPress in te stellen

Het is vermeldenswaard dat WP-Cron enigszins verschilt van een systeemcron, en elk heeft zijn eigen voor- en nadelen. WP-Cron vertrouwt uitsluitend op intervallen, terwijl een systeemcron afhankelijk is van specifieke tijden. Bovendien werkt WP-Cron alleen wanneer de pagina is geladen, of dit nu de back-end of front-end is, wat kan resulteren in minder betrouwbaarheid. De standaardintervallen die door WordPress worden geboden, zijn uurlijkse, tweemaal daagse en dagelijkse schema's.

Om WP-Cron-evenementen te plannen, is het noodzakelijk om aangepaste hooks te maken. We raden ten zeerste aan om het officiële handboek voor WordPress-plug-ins te raadplegen, dat een uitstekende gids biedt voor het plannen van WP-Cron-evenementen. Als u op zoek bent naar een alternatieve methode voor het configureren van een systeemcron binnen WordPress, raden we u aan het artikel van Tom Mcfarlin’ te raadplegen over het definiëren van een WordPress cron-taak. Bovendien zullen we, voor degenen die misschien minder ervaren zijn, een gemakkelijke manier onderzoeken om WP-Cron te gebruiken in combinatie met de populaire gratis WP C r ontrol-plug-in . Met deze plug-in kunt u de activiteiten binnen het WP-Cron-systeem volgen en beheren.

Maak geweldige websites

Met de beste gratis paginabuilder Elementor

Begin nu

WP Crontrol kan bogen op een indrukwekkend aantal actieve installaties van meer dan 200.000, gekoppeld aan een uitzonderlijke beoordeling van 4,5 op 5. Binnen de WordPress-gemeenschap heeft deze plug-in veel bewondering gekregen.

Deze plug-in biedt een opmerkelijk nut door een uitgebreid overzicht te geven van de CRON-taken die gepland zijn om te worden uitgevoerd. Het dient als een uitstekende eerste stap om de onderliggende processen te begrijpen en hun operationele status te bepalen. Dergelijke verdiensten hebben geleid tot een unanieme beoordeling van 5 sterren. Bovendien vergroot de mogelijkheid om nieuwe cron-taken te maken en de uitvoering van bestaande te initiëren de waarde nog meer, wat een extra 5-sterrenbeoordeling rechtvaardigt, zoals bevestigd door Josh, de maker van Caldera Forms.

Om deze plug-in te verkrijgen, kan men deze rechtstreeks downloaden van de WordPress-repository of deze zoeken in het WordPress-dashboard onder het gedeelte "Nieuwe plug-ins toevoegen". De opmerkelijke kenmerken van WP Control omvatten:

  • Een uitgebreide weergave van alle cron-gebeurtenissen, inclusief hun respectieve argumenten, herhalingspatronen en aanstaande uitvoeringstijden.
  • De mogelijkheid om cron-gebeurtenissen te wijzigen, te verwijderen of onmiddellijk te starten.
  • De bepaling om nieuwe cron-gebeurtenissen te introduceren.
  • De optie om aangepaste cron-schema's toe te voegen, te wijzigen en te verwijderen.

WP-Cron-schema's

Na activering krijgt de gebruiker de mogelijkheid om de WordPress Cron-taakschema's te wijzigen door naar het gedeelte "Cron-schema's" te gaan in de instellingen van hun WordPress-dashboard. Het is belangrijk op te merken dat de plug-in een extra standaardschema met een wekelijkse frequentie introduceert. Bovendien hebben gebruikers de mogelijkheid om extra schema's in seconden op te nemen, bijvoorbeeld 21600 seconden om taken om de 6 uur uit te voeren.

Deze intervallen kunnen in de code worden opgenomen door een filter te gebruiken, geïllustreerd door de volgende coderegel:

add_filter( 'cron_schedules', 'example_add_cron_interval' );

function example_add_cron_interval( $schedules ) {
 $schedules['five_seconds'] = array(
 'interval' => 5,
 'display' => esc_html__( 'Every Five Seconds' ),
 );

return $schedules;
 }

WP-Cron-evenementen


Vervolgens kan de plug-in ook worden gebruikt om de bestaande WordPress Cron-taken te bekijken die zijn gepland. Om toegang te krijgen tot deze functie, navigeert u naar het gedeelte "Cron-gebeurtenissen" onder het tabblad "Tools". Talloze actienamen zijn gemakkelijk te herkennen, omdat verwacht wordt dat ze overeenkomen met specifieke delen van de naam van de plug-in, zoals "woocoomerce_cleanup_sessions" of "gravityforms_cron".


Om een ​​onmiddellijke uitvoering van een Cron-gebeurtenis te starten, klikt u eenvoudig op de optie "Nu uitvoeren" naast de overeenkomstige actienaam. Deze functionaliteit blijkt voordelig tijdens het oplossen van problemen, vooral wanneer het nodig wordt om een ​​Cron-gebeurtenis meerdere keren uit te voeren.

Cron-gebeurtenis toevoegen

Bovendien heb je de mogelijkheid om Cron-gebeurtenissen in je setup op te nemen. In dit geval demonstreren we het proces van het toevoegen van een WordPress Cron-taak, specifiek voor de Disqus-plug-in. Veel mensen willen deze taak misschien uitvoeren om de synchronisatiefrequentie te wijzigen of problemen met betrekking tot de synchronisatie van opmerkingen op te lossen. De documentatie die door elke externe ontwikkelaar van plug-ins wordt verstrekt, moet de aangewezen naam voor hun cron-gebeurtenis bevatten, of met andere woorden, de actienaam. In het geval van de Disqus-plug-in is de gebruikte actienaam "dsq_sync_forum".

Als je van plan bent om een ​​cron-gebeurtenis helemaal opnieuw te maken, heb je een overeenkomstige actiehaak in je code nodig, zoals het bestand functions.php. Het volgende voorbeeld, met dank aan WP-Crontrol, illustreert dit concept:

add_action( 'my_hookname', 'my_function' );

De volgende functie die je gaat schrijven is -

function my_function() {
    wp_mail( '[email protected]', 'WP Crontrol', 'WP Crontrol rocks!' );
}


In het geval van Disqus bestaat onze eerste stap uit het opnemen van een nieuw cron-schema met een duur van 600 seconden (gelijk aan 10 minuten). Vervolgens gaan we verder met toegang tot de functie "Cron Event toevoegen", waar we "dsq_sync_forum" invoeren als de aangewezen actienaam. Vervolgens selecteren we de daaropvolgende uitvoeringstijd en kiezen we voor het interval van 10 minuten dat we onlangs hebben vastgesteld. Ten slotte sluiten we het proces af door "Cron-gebeurtenis toevoegen" te selecteren. Bijgevolg zorgt deze procedure voor een geautomatiseerde herhaling om de 10 minuten, wat de handmatige synchronisatie van Disqus-opmerkingen met onze WordPress-database vergemakkelijkt.

In wezen is het gebruik van deze functionaliteit eenvoudig en gebruiksvriendelijk.

Maisgebeurtenis wijzigen

Bovendien is het mogelijk om reeds bestaande Cron-gebeurtenissen te wijzigen door de optie "Bewerken" naast de actienaam te selecteren. Bijgevolg krijgt u de mogelijkheid om de actienaam, argumenten, daaropvolgende uitvoering en geplande herhaling te wijzigen. Het is belangrijk om voorzichtig te zijn bij het maken van dergelijke wijzigingen, aangezien veel plug-ins afhankelijk zijn van hun Cron-taken voor een juiste functionaliteit.

Voeg een cronjob toe met behulp van cPanel

Als u toegang heeft tot een cPanel-account dat door uw webhost is verstrekt, kunt u het configuratiescherm gebruiken om cron-taken in te stellen. Log hiervoor in op uw cPanel-account en navigeer naar het gedeelte 'Geavanceerd', gevolgd door 'Cron Jobs' te selecteren.

De instellingenpagina voor cronjobs biedt keuzes voor het configureren van cronjobmeldingen en het instellen van nieuwe. Om een ​​cron-taak op te nemen, navigeert u naar het gedeelte "Nieuwe cron-taak toevoegen" door naar beneden te scrollen.

Binnen deze sectie krijgt u de mogelijkheid om de frequentie van de opdracht aan te passen.

Het menu Algemene instellingen omvat verschillende vooraf geconfigureerde keuzes, variërend van een frequentie van één keer per minuut tot één keer per jaar. Gebruikers hebben de flexibiliteit om elk van deze opties te selecteren of de onderstaande velden aan te passen door een gepersonaliseerde waarde in te voeren.

Nadat u de frequentie van de cron-taak hebt geconfigureerd, kunt u doorgaan met het invoeren van de opdracht die wordt uitgevoerd in het daarvoor bestemde opdrachtveld. Om de wijzigingen te behouden, slaat u de cronjob op door de optie "Nieuwe cronjob toevoegen" te selecteren. Bijgevolg wordt de nieuw gemaakte cron-taak weergegeven tussen de huidige cron-taken die onderaan de pagina worden weergegeven.

Schakel WP-Cron uit

In bepaalde gevallen kan het gebruik van de WP-Cron-functie complicaties veroorzaken voor uw website. WP-Cron is een gesimuleerde versie van een cron-taak, zonder de continue werking die typisch is voor dergelijke taken. In plaats daarvan voert WordPress het script wp-cron.php uit telkens wanneer een pagina wordt geladen.

Deze aanpak kan leiden tot uitdagingen voor websites met veel verkeer, aangezien er aanzienlijke middelen moeten worden toegewezen om wp-cron.php uit te voeren tijdens het laden van elke pagina. Als het script niet werkt vanwege het laden van pagina's, kunnen geplande opdrachten ook niet worden uitgevoerd, omdat wp-cron.php de intervallen niet actief bewaakt.

Als u problemen ondervindt met WP-Cron, heeft u de mogelijkheid om deze functie te deactiveren door de volgende code op te nemen in het wp-config.php-bestand van WordPress:

define('DISABLE_WP_CRON', true);

Zodra de wijzigingen in het bestand zijn opgeslagen, is het proces voltooid. Desalniettemin, als u ervoor kiest om WP-Cron uit te schakelen, moet u een alternatieve oplossing vinden door een van de methoden te gebruiken die in de voorgaande secties van deze zelfstudie zijn beschreven.

Afsluiten

Verbeter de efficiëntie en verlaag de kosten terwijl de websitefunctionaliteit wordt geoptimaliseerd door gebruik te maken van integraties op ondernemingsniveau ter waarde van $ 275 of meer, die naadloos zijn geïntegreerd in elk beheerd WordPress-abonnement. Deze integraties omvatten een krachtig Content Delivery Network (CDN), robuuste Distributed Denial of Service (DDoS)-bescherming, uitgebreide beveiligingen tegen malware en hackpogingen, efficiënte edge caching-mechanismen en de snelste CPU-machines van Google. Begin uw reis zonder lange contractuele verplichtingen, profiteer van begeleide migraties en geniet van een geld-terug-garantie van 30 dagen.

Divi WordPress Theme