Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Puchar WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Jak zobaczyć i kontrolować zadania WordPress Cron

Uwaga redakcyjna: Otrzymujemy prowizję z linków partnerskich na WPBeginner. Prowizje nie mają wpływu na opinie i oceny naszych redaktorów. Dowiedz się więcej o Proces redakcyjny.

Niedawno jeden z naszych czytelników zapytał, czy możliwe jest zobaczenie i kontrolowanie systemu zadań cron WordPressa w kokpicie.

Cron to technologia uruchamiania zaplanowanych zadań na serwerze WWW. WordPress posiada własny wbudowany cron, który umożliwia wykonywanie zaplanowanych zadań, takich jak sprawdzanie aktualizacji, publikowanie zaplanowanych wpisów itp.

W tym artykule pokażemy, jak zobaczyć i kontrolować zadania cron WordPressa.

Czym jest WordPress Cron? Jak to działa?

Cron to taksonomia techniczna używana dla poleceń uruchamianych w zaplanowanym czasie lub w regularnych odstępach czasu. Większość serwerów WWW używa go do utrzymania serwera i uruchamiania zaplanowanych zadań.

WordPress posiada własny system cron, który umożliwia wykonywanie zaplanowanych zadań. Na przykład sprawdzanie aktualizacji, usunięcie starych komentarzy z kosza, publikowanie zaplanowanych wpisów i tak dalej.

Wtyczki WordPress mogą również używać go do wykonywania zadań określonych przez użytkownika. 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 korzystanie z WordPress cron przez wtyczki może spowolnić twoją witrynę internetową. Zwłaszcza, jeśli korzystasz z hostingu współdzielonego.

Jeśli wtyczka często wykonuje zadania wymagające dużej ilości zasobów, należy zidentyfikować problem i go poprawić.

Przyjrzyjmy się, jak zobaczyć i kontrolować system WordPress cron bez pisania jakiegokolwiek kodu.

Zobacz i kontroluj system WordPress Cron

Pierwszą rzeczą, którą musisz zrobić, jest zainstalowanie i włączanie wtyczki WP Crontrol. Aby uzyskać więcej informacji, zobacz nasz przewodnik krok po kroku, jak zainstalować wtyczkę WordPress.

Po włączaniu należy przejść na stronę Tools ” Cron Events, aby kontrolować ustawienia crona.

WordPress Cron events

Zobaczysz listę wszystkich zdarzeń cron zaplanowanych do uruchomienia na twojej witrynie za pomocą systemu cron WordPress.

W pierwszej kolumnie zobaczysz nazwę haka, który uruchamia crona.

Nazwy haków zazwyczaj dają wskazówkę na temat tego, co robi dane wydarzenie.

Większość domyślnych haków WordPressa zaczyna się od przedrostka wp_, np. 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_.

Możesz również zobaczyć, kiedy cron zostanie uruchomiony jako następny i jaki będzie odstęp czasu między kolejnymi uruchomieniami.

Ostatnia kolumna na liście umożliwia edycję, usunięcie lub uruchomienie zdarzenia cron.

Ważne: Zamierzasz bardzo uważać na to, co robisz ze zdarzeniami cron i nigdy nie usuwaj domyślnego zdarzenia cron WordPress.

Załóżmy teraz, że widzisz zdarzenie cron utworzone przez wtyczkę WordPress, która jest dość zasobochłonna.

Najpierw powinieneś sprawdzić ustawienia wtyczki, aby zobaczyć, czy istnieje opcja kontrolowania jej stamtąd. Jeśli nie, możesz kliknąć odnośnik „Edytuj” obok zdarzenia cron, aby je zmienić.

Editing a cron in WordPress

Kliknięcie przycisku Edytuj spowoduje otwarcie karty „Modyfikuj zdarzenie Cron” poniżej.

W tym miejscu można zmienić częstotliwość uruchamiania wydarzenia.

Modifying cron settings

Po zakończeniu kliknij przycisk „Modify Cron Event”, aby zapisać twoje ustawienia.

Dodawanie twoich własnych zdarzeń Cron w WordPressie

Wtyczka WP Crontrol ułatwia dodawanie twoich własnych zadań cron do WordPressa. Wystarczy przejść na stronę Narzędzia ” Zdarzenia Cron i przewinąć w dół do karty „Dodaj zdarzenie Cron”.

Add custom cron event in WordPress

Po pierwsze, musisz podać nazwę haka dla twojego 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 powiedzieć WordPressowi, kiedy następnym razem uruchomić crona. Możesz wpisz „teraz”, co spowoduje natychmiastowe uruchomienie crona, „jutro”, „+2 dni” lub „25-02-2020 12:34:00”.

Na koniec należy wybrać harmonogram. Można wybrać tryb godzinowy, dwa razy dziennie, codziennie lub raz w tygodniu. Możesz również ustawić wydarzenie jako niepowtarzające się.

Po zakończeniu kliknij przycisk „Dodaj zdarzenie Cron”, aby zapisać twoje zmiany.

Zauważysz, że twoje zdarzenie cron pojawi się teraz na liście zdarzeń.

Jednak obecnie nie robi nic, ponieważ nie powiedziałeś WordPressowi, co ma zrobić, gdy to zdarzenie zostanie wywołane.

Będziesz musiał dodać twój hak i funkcję, która uruchamia się po uruchomieniu haka cron.

add_action( 'wpb_custom_cron', 'wpb_custom_cron_func' );

function wpb_custom_cron_func() {
  wp_mail( 'you@example.com', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}

Nie zapomnij użyć swojego adresu e-mail.

Ta funkcja po prostu wysyła testowy e-mail, gdy cron zostanie uruchomiony. Możesz teraz przewinąć stronę w górę i kliknąć odnośnik „Uruchom teraz” obok twojego wydarzenia cron, aby je przetestować.

Uwaga: Korzystanie z crona wymaga średnio zaawansowanych umiejętności programowania i tworzenia WordPressa. Jeśli nie posiadasz tych umiejętności, zalecamy zatrudnienie programisty WordPress.

Mamy nadzieję, że ten artykuł pomógł ci zobaczyć i kontrolować zadania cron WordPressa. Możesz również zapoznać się z naszym przewodnikiem na temat przyspieszania WordPressa i zwiększania wydajności lub z naszą ekspercką listą najlepszych wtyczek do zabezpieczeń WordPressa.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz na niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak WPBeginner jest finansowany, dlaczego to ma znaczenie i jak możesz nas wspierać. Oto nasz proces redakcyjny.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Najlepszy zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi - zbiór produktów i zasobów związanych z WordPressem, które każdy profesjonalista powinien mieć!

Reader Interactions

20 komentarzyZostaw odpowiedź

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Paul Barrett says

    We run cron at server level because wp-cron overloads teh server. There’s is nothing on our site that is so time-critical the jobs need to running frequently. If we set the frequency to say daily, would WordPress have a problem?

    • WPBeginner Support says

      It would heavily depend on what is being done on the site and when. We do not have a specific recommendation for what can be delayed to that extent.

      Administrator

  3. Matt K says

    When I go to change the the recurrence on the Hooks, they just get changed back. Something isn’t right. Do I need to disable WP crons in wp-config.php first?

    • WPBeginner Support says

      It would depend on the specific chron job, if you reach out to the plugin’s support they should be able to assist

      Administrator

  4. Heinz says

    Can I deactivate or even delete WP Control plugin in after having set a cron job, so I don’t have too many plugins running and slow down the website?

  5. Andre Hesdahl says

    I am a newbee with WordPress and don’t know where to put (or how to execute) the code:
    add_action( 'wpb_custom_cron’, 'wpb_custom_cron_func’ );

    function wpb_custom_cron_func() {
    wp_mail( 'you@example.com’, 'Automatic email’, 'Automatic scheduled email from WordPress to test cron’);
    }

  6. Jeff says

    Thanks for the article. Interesting to see the number of plugins that have cron jobs running often. Great peak under the hood plugin…

  7. hazel beaver says

    When I check the cron schedule the dates shown in the 'next run’ column are all in the past. Does that mean they are not running?

    In the past I think I added 'true’ in the wp config file to stop automatic wp updates from breaking my site…. could this be the cause?

  8. Oleg says

    Great article, but no need for

    if ( ! wp_next_scheduled( 'wpb_custom_cron’ ) ) {
    wp_schedule_event( time(), 'hourly’, 'my_task_hook’ );
    }

    this part is done in the plugin,

  9. Ahmad Sayeed says

    I tested you given example. It works like a superman. But please give us an example to send parameter. I have added the function while creating the even. But I don’t know how to use them on PHP function.

    Please give us an example

  10. Sunny says

    My website is coming up with a long wp cron string after my URL and I cant get rid of it. Any thoughts?

    ?doing_wp_cron=1499261576.8675799369812011718750 comes up after my url and its making me look really spammy. Your insight would be appreciated.

  11. Aniket Ashtikar says

    Is that 'my_task_hook’ cron hook rightly mentioned there at line 2 or should that rather be changed to 'wpb_custom_cron’?

  12. Matt says

    Do you know if its possible to visit a link in the wp-admin area? I have a plugin that adds admin features to my wordpress site but I really want this scheduled to happen every 24 hours. I have the link but obviously am required to be logged in.

  13. Pam M says

    Do you need that first if statement shown in the sample code? It looks like it would override the ability to schedule and unschedule in the WP Crontrol plugin.
    Your example worked nicely when I scheduled the job in the plugin and tested it with the Run Now option. I’ll see if I get an email at the scheduled time too.
    Thanks for the helpful background info.

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszymi polityka komentarzy, a Twój adres e-mail NIE zostanie opublikowany. NIE używaj słów kluczowych w polu nazwy. Przeprowadźmy osobistą i konstruktywną rozmowę.