Ostatnio jeden z naszych czytelników zapytał, czy możliwe jest przeglądanie i kontrolowanie systemu zadań cron WordPress w panelu administracyjnym. Z naszego doświadczenia wynika, że jest to pytanie, które zadaje wielu użytkowników WordPress, zwłaszcza gdy lepiej poznają sposób działania WordPress w tle.
Jeśli nie jesteś zaznajomiony, Cron to technologia do uruchamiania zaplanowanych zadań na serwerze internetowym. WordPress posiada własny wbudowany cron, który pozwala mu wykonywać zaplanowane zadania, takie jak sprawdzanie aktualizacji, publikowanie zaplanowanych postów itp.
W tym artykule pokażemy, jak przeglądać i kontrolować zadania cron w WordPress.

Czym jest WordPress Cron? Jak działa?
Cron to termin techniczny używany do poleceń uruchamianych o zaplanowanym czasie lub w regularnych odstępach czasu. Większość serwerów internetowych używa go do utrzymania serwera i uruchamiania zaplanowanych zadań.
WordPress posiada własny system cron, który pozwala mu wykonywać zaplanowane zadania. Na przykład sprawdzanie aktualizacji, usuwanie starych komentarzy z kosza, publikowanie zaplanowanych postów i tak dalej.
Wtyczki WordPress mogą również używać go do wykonywania określonych przez Ciebie zadań. Na przykład, Twoja wtyczka do tworzenia kopii zapasowych WordPress może używać WordPress cron do automatycznego tworzenia kopii zapasowych według określonego harmonogramu.
Jednak nieodpowiedzialne używanie WordPress cron przez wtyczki może spowolnić Twoją stronę internetową. Zwłaszcza jeśli korzystasz z hostingu współdzielonego.
Jeśli wtyczka często wykonuje zadania intensywnie obciążające zasoby, musisz zidentyfikować problem i go naprawić.
Przyjrzyjmy się, jak przeglądać i kontrolować system cron WordPress bez pisania kodu.
Przeglądaj i kontroluj system WordPress Cron
Pierwszą rzeczą, którą musisz zrobić, to zainstalować i aktywować wtyczkę WP Crontrol. Aby uzyskać więcej szczegółów, zapoznaj się z naszym przewodnikiem krok po kroku na temat jak zainstalować wtyczkę WordPress.
Po aktywacji musisz odwiedzić stronę Narzędzia » Zdarzenia Cron, aby kontrolować ustawienia cron.

Zobaczysz listę wszystkich zdarzeń cron zaplanowanych do uruchomienia na Twojej stronie przy użyciu systemu cron WordPress.
W pierwszej kolumnie zobaczysz nazwę haka, który uruchamia cron.
Nazwy haków zazwyczaj dają wskazówkę, co robi dane zdarzenie.
Większość domyślnych haków WordPress zaczyna się od prefiksu wp_, na przykład wp_update_plugins, wp_update_themes itp.
Twoje wtyczki WordPress mogą, ale nie muszą, używać własnych prefiksów dla swoich haków. Na przykład, All in One SEO używa prefiksu aioseo_.
Zobaczysz również, kiedy zadanie cron uruchomi się następnym razem i jaki jest interwał czasowy między kolejnymi uruchomieniami.
Ostatnia kolumna na liście pozwala edytować, usuwać lub uruchamiać zdarzenie cron.
Ważne: Bądź bardzo ostrożny z tym, co robisz ze zdarzeniami cron i nigdy nie usuwaj domyślnych zdarzeń cron WordPress.
Teraz przypuśćmy, że widzisz zdarzenie cron utworzone przez wtyczkę WordPress, które jest dość zasobożerne.
Najpierw powinieneś sprawdzić ustawienia wtyczki, aby zobaczyć, czy istnieje opcja sterowania nią stamtąd. Jeśli nie, możesz kliknąć link „Edytuj” obok zdarzenia cron, aby je zmienić.

Kliknięcie przycisku Edytuj otworzy zakładkę „Modyfikuj zdarzenie cron” poniżej.
Tutaj możesz zmienić, jak często chcesz, aby zdarzenie było uruchamiane.

Po zakończeniu kliknij przycisk „Modyfikuj zadanie Cron”, aby zapisać ustawienia.
Dodawanie własnych zdarzeń cron w WordPress
Wtyczka WP Crontrol ułatwia dodawanie własnych zadań cron do WordPressa. Po prostu odwiedź stronę Narzędzia » Zdarzenia Cron i przewiń w dół do zakładki „Dodaj zdarzenie cron”.

Najpierw musisz podać nazwę haka dla swojego zdarzenia cron. Nazwy haków nie mogą zawierać spacji ani znaków specjalnych.
Jeśli funkcja, którą chcesz wykonać, wymaga argumentów, możesz je podać.
Następnie musisz poinformować WordPress, kiedy następnym razem uruchomić cron. Możesz wpisać „teraz”, co uruchomi cron natychmiast, „jutro”, „+2 dni” lub „25-02-2020 12:34:00”.
Na koniec musisz wybrać harmonogram. Możesz wybrać co godzinę, dwa razy dziennie, codziennie lub raz w tygodniu. Możesz również ustawić go jako zdarzenie jednorazowe.
Po zakończeniu kliknij przycisk „Dodaj zadanie cron”, aby zapisać zmiany.
Zauważysz, że Twoje zdarzenie cron pojawi się teraz na liście zdarzeń.
Jednak obecnie nic nie robi, ponieważ nie poinformowałeś WordPress, co ma zrobić po wyzwoleniu tego zdarzenia.
Musisz dodać swój hook i funkcję, która uruchamia się po wyzwoleniu hooka crona.
add_action( 'wpb_custom_cron', 'wpb_custom_cron_func' );
function wpb_custom_cron_func() {
wp_mail( '[email protected]', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}
Nie zapomnij użyć swojego własnego adresu e-mail.
Ta funkcja po prostu wysyła do Ciebie testowy e-mail, gdy uruchomiony jest cron. Możesz teraz przewinąć stronę w górę i kliknąć link „Uruchom teraz” obok swojego zdarzenia cron, aby je przetestować.
Uwaga: Korzystanie z cron wymaga umiejętności programowania na poziomie średniozaawansowanym i tworzenia aplikacji WordPress. Jeśli nie posiadasz tych umiejętności, zalecamy zatrudnienie programisty WordPress.
To wszystko, mamy nadzieję, że ten artykuł pomógł Ci dowiedzieć się, jak przeglądać i kontrolować zadania cron w WordPress. Możesz również zapoznać się z naszym przewodnikiem na temat masowego instalowania ulubionych wtyczek WordPress lub naszymi ekskluzywnymi wyborami najlepszych wtyczek zabezpieczających WordPress.
Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.

Mrteesurez
Dziękuję bardzo za poruszenie tego tematu i pomoc w lepszym zrozumieniu zadań cron w WordPress. Twoje szczegółowe wyjaśnienie naprawdę rozjaśniło, jak działają i jak nimi efektywnie zarządzać. Doceniam podzielone się spostrzeżeniami; posiadanie tej wiedzy, aby nasze strony działały sprawnie, jest bardzo pomocne. Jeszcze raz dziękuję za Twój cenny artykuł!
Paul Barrett
Uruchamiamy cron na poziomie serwera, ponieważ wp-cron przeciąża serwer. Na naszej stronie nie ma niczego, co byłoby na tyle krytyczne czasowo, aby zadania musiały być uruchamiane często. Jeśli ustawimy częstotliwość na przykład na dzienną, czy WordPress będzie miał problem?
Wsparcie WPBeginner
W dużej mierze zależałoby to od tego, co i kiedy jest robione na stronie. Nie mamy konkretnych zaleceń, co można odłożyć do tego stopnia.
Admin
Matt K
Kiedy próbuję zmienić powtarzalność w Haczykach, są one po prostu przywracane. Coś jest nie tak. Czy muszę najpierw wyłączyć WP crons w pliku wp-config.php?
Wsparcie WPBeginner
Zależałoby to od konkretnego zadania cron, jeśli skontaktujesz się z pomocą techniczną wtyczki, powinni być w stanie pomóc.
Admin
Heinz
Czy mogę dezaktywować lub nawet usunąć wtyczkę WP Control po ustawieniu zadania cron, abym nie miał zbyt wielu działających wtyczek i nie spowalniał strony internetowej?
Wsparcie WPBeginner
Tak, o ile użyłeś jednego z domyślnych harmonogramów (np. codziennie). Jeśli dodałeś niestandardowy harmonogram, każde zdarzenie, które go używa, uruchomi się jeszcze raz, ale potem nie będzie się powtarzać.
Wtyczka nie powinna powodować spowolnienia Twojej witryny. Aby lepiej zrozumieć, jak wtyczki WordPress wpływają na Twoją witrynę, zapoznaj się z naszym artykułem tutaj:
https://www.wpbeginner.com/opinion/how-many-wordpress-plugins-should-you-install-on-your-site/
Admin
Andre Hesdahl
Jestem nowicjuszem w WordPress i nie wiem, gdzie umieścić (ani jak wykonać) kod:
add_action( ‘wpb_custom_cron’, ‘wpb_custom_cron_func’ );
function wpb_custom_cron_func() { wp_mail( '[email protected]', 'Automatyczny e-mail', 'Automatyczny zaplanowany e-mail z WordPressa do testowania crona' ); }
Jeff
Dzięki za artykuł. Ciekawie zobaczyć liczbę wtyczek, które często uruchamiają zadania cron. Świetny wgląd w działanie wtyczki...
David
Jak mogę skonfigurować crona na co pół godziny?
hazel beaver
Kiedy sprawdzam harmonogram zadań cron, daty pokazane w kolumnie „następne uruchomienie” są wszystkie w przeszłości. Czy to oznacza, że nie działają?
W przeszłości chyba dodałem „true” w pliku wp-config, aby zatrzymać automatyczne aktualizacje wp przed zepsuciem mojej witryny... czy to może być przyczyną?
Janson
Czy to działa w Multi-site? Czy można kontrolować zadania cron dla wszystkich instancji w scenariuszu multisite?
Oleg
Świetny artykuł, ale nie ma potrzeby
if ( ! wp_next_scheduled( ‘wpb_custom_cron’ ) ) { wp_schedule_event( time(), ‘hourly’, ‘my_task_hook’ ); }
ta część jest wykonywana wtyczce,
beny salim
jak mogę dodać powtarzalność co pięć minut, dziesięć minut
Ahmad Sayeed
Przetestowałem podany przykład. Działa jak superbohater. Ale proszę, podaj nam przykład wysyłania parametrów. Dodałem funkcję podczas tworzenia zdarzenia. Ale nie wiem, jak ich używać w funkcji PHP.
Proszę podać przykład
Sunny
Moja strona internetowa wyświetla długi ciąg znaków wp cron po moim adresie URL i nie mogę się go pozbyć. Jakieś pomysły?
?doing_wp_cron=1499261576.8675799369812011718750 pojawia się po moim adresie URL i sprawia, że wyglądam naprawdę spamersko. Twoja opinia byłaby mile widziana.
Aniket Ashtikar
Czy ten hook cron „my_task_hook” jest poprawnie wymieniony w linii 2, czy raczej powinien zostać zmieniony na „wpb_custom_cron”?
Matt
Czy wiesz, czy można odwiedzić link w obszarze wp-admin? Mam wtyczkę, która dodaje funkcje administracyjne do mojej witryny WordPress, ale naprawdę chcę, aby to było zaplanowane co 24 godziny. Mam link, ale oczywiście muszę być zalogowany.
Pam M
Czy potrzebujesz tego pierwszego warunku `if` pokazanego w przykładowym kodzie? Wygląda na to, że nadpisze on możliwość planowania i odwoływania planowania wtyczki WP Crontrol.
Twój przykład działał ładnie, gdy zaplanowałem zadanie we wtyczce i przetestowałem je opcją „Uruchom teraz”. Zobaczę, czy otrzymam e-mail o zaplanowanej godzinie.
Dzięki za pomocne informacje w tle.
Nigam
Cześć
Kiedy odświeżam stronę WP-Cron Events z panelu administracyjnego WordPress, dopiero wtedy uruchamia się zdarzenie.