Če se tvoja stran WordPress včasih nalaga počasneje ali se tvoji načrtovani prispevki ne prikažejo pravočasno, je vzrok pogosto vgrajeni časovnik WordPressa, WP-Cron. Na gostovanju cPanel ga lahko zamenjaš s pravim opravilom, ki ga časovno vodi strežnik.
Kaj je WP-Cron in kaj je narobe z njim?
WordPress svoje načrtovane naloge (načrtovani prispevki, iskanje posodobitev, vzdrževalne naloge vtičnikov, e-poštna sporočila spletne trgovine) izvaja z datoteko wp-cron.php. Ta pa se ne ravna po uri strežnika: zažene se, ko nekdo odpre stran. Posledice:
- če stran ravno nima obiskovalca, naloge zamujajo (na primer prispevek, načrtovan za polnoč, se prikaže šele ob prvem jutranjem obisku);
- na zelo prometni strani teče po nepotrebnem pogosto, izvajanje pa upočasni nalaganje strani tega obiskovalca;
- zaradi nekaterih vtičnikov za predpomnjenje ali napačnih nastavitev DNS se sploh ne zažene.
Rešitev: WP-Cron izklopiš, redno pa ga kliče opravilo cron strežnika, na primer vsakih 15 minut. (O splošni uporabi crona govori članek o načrtovanih opravilih (cron job) v cPanelu.)
Najpreprostejša pot: WP Toolkit
Če WordPress upravlja WP Toolkit (točka menija WordPress Management v cPanelu), v pregledu spletnega mesta, v razdelku Zmogljivost, vklopi možnost Prevzem datoteke wp-cron.php. WP Toolkit takrat sam izklopi WP-Cron in namesto njega nastavi časovno vodenje na strani strežnika; spodnji ročni koraki niso potrebni.
Ročna nastavitev v točki menija Opravila cron
-
Prijavi se v cPanel in v skupini Napredno klikni točko menija Opravila cron.
- V razdelku Dodaj novo opravilo cron nastavi razpored. Za izvajanje vsakih 15 minut na seznamu ob polju Minuta izberi možnost Enkrat na petnajst minut (*/15), v drugih poljih (Ura, Dan, Mesec, Dan v tednu) naj ostane
*(vse). -
V polje Ukaz vpiši enega od spodnjih ukazov (namesto
felhasznalonevvpiši svoje uporabniško ime cPanel, namesto mape pa mapo WordPress; pri glavni domeni je topublic_html):S PHP, neposredno (priporočeno, ni odvisno od DNS in spletnega strežnika):
/usr/local/bin/php /home/felhasznalonev/public_html/wp-cron.php > /dev/null 2>&1Z WP-CLI (izvede le zapadle naloge):
/usr/local/bin/wp cron event run --due-now --path=/home/felhasznalonev/public_html > /dev/null 2>&1S klicem spletnega naslova, če zgornji iz kakršnega koli razloga ne delujeta:
wget -q -O - https://pelda.hu/wp-cron.php?doing_wp_cron > /dev/null 2>&1Zaradi dela
> /dev/null 2>&1sistem ne pošlje e-pošte o vsakem zagonu. -
Klikni gumb Dodaj novo opravilo cron.
Opravilo se prikaže na dnu strani, na seznamu Trenutna opravila cron, kjer ga lahko spremeniš s povezavama Uredi in Izbriši.
Izklop WP-Cron
Ko opravilo cron strežnika že teče, izklopi vgrajeni časovnik WordPressa, sicer bi tekla oba. Za to v datoteko wp-config.php v korenski mapi WordPress, pred vrstico /* That's all, stop editing! */, vpiši:
define('DISABLE_WP_CRON', true);
Datoteko lahko urejaš v Upravitelju datotek v cPanelu (Upravitelj datotek).
Preverjanje
- Načrtuj poskusni prispevek nekaj minut pozneje in preveri, ali se po naslednjem zagonu crona prikaže.
- Stran Orodja › Zdravje spletnega mesta v WordPressu opozori, če načrtovani dogodki zamujajo.
- Če ukaz vrne napako, z njegovega konca začasno izbriši del
> /dev/null 2>&1in v polje E-pošta za cron vnesi svoj naslov: izpis naslednjega zagona dobiš po e-pošti.


