Because WordPress musi działać na wszystkich rodzajach różnych platform, OS’s i konfiguracji, nie może polegać na tym, że będzie usługa cronjob na serwerze, który może obsługiwać zaplanowane zadania. Dlatego programiści WordPressa stworzyli obejście – plik wp-cron.php w głównym folderze WordPressa jest wykonywany za każdym razem, gdy ktoś załaduje stronę. Następnie sprawdza, czy istnieje zaplanowane zadanie do wykonania i wykonuje je w razie potrzeby.
Jednakże w niektórych przypadkach plik ten może stać się celem ataku DOS, lub wtyczki buforowania może zakłócać jego wykonanie, co może spowodować albo dużo obciążenia serwera lub zaplanowane zadania nie mogą być wykonywane prawidłowo i terminowo. Dlatego możesz zastąpić to stałe wykonywanie pliku prawdziwym zadaniem cron.
Po pierwsze, musisz wyłączyć skrypt, który ma być wykonywany za każdym razem, gdy ktoś załaduje jedną z twoich stron. Aby to zrobić, otwórz plik wp-config.php w głównym folderze WordPress i dodaj następującą linię przed „/* To wszystko, przestań edytować! Szczęśliwego blogowania. */” linia:
define('DISABLE_WP_CRON', true);
Po tym, jak to zrobisz, musisz skonfigurować prawdziwe zadanie cron i wykonać plik wp-cron.php z nim. Nie chcesz uruchamiać go zbyt często – 30 minut powinno być w porządku dla większości stron internetowych. Aby to zrobić, przejdź do Narzędzi Witryny > Devs > Cron Jobs.
Następnie dodaj następujące polecenie, które ma być wykonywane co 30 minut:
wget -q -O - http://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Replace yourdomain.com z rzeczywistą nazwą domeny. Narzędzie zadań Cron ma niektóre z najczęstszych harmonogramów wstępnie ustawionych, więc możesz po prostu wybrać Dwa razy na godzinę z menu rozwijanego interwału.
.