Jak zarządzać zadaniami WordPress Cron

Opublikowany: 2021-05-14
wordpress cron
Obserwuj @Cloudways

Wielu programistów WordPress, zwłaszcza początkujących, ma wspólne pytanie „co to jest WordPress cron” z „jak zarządzać zadaniami WordPress cron?” bliska sekunda.

Odpowiedź jest prosta: użyj dowolnej z metod zarządzania zadaniami cron WordPress, które opiszę w tym artykule.

  • Co to jest WordPress Cron?
  • Jak zarządzać pracą WordPress Cron?
    • Jak zarządzać zadaniami WordPress Cron za pomocą wtyczki?
      • Krok 1: Zainstaluj wtyczkę WP Control
      • Krok 2: Wyświetl i zrozum zdarzenia Cron
      • Krok 3: Edytuj zdarzenie Cron
      • Krok 4: Dodawanie niestandardowego przedziału czasu
      • Krok 5: Dodawanie nowego zdarzenia Cron
    • Jak zarządzać zadaniami WordPress Cron za pomocą WP CLI
  • Jak skonfigurować prawdziwą pracę Crona?

Cron to standardowe narzędzie UNIX do planowania wykonywania zadań (skryptu lub polecenia) o określonej godzinie, dacie lub interwale. Zadanie, które ma wykonać, jest znane jako zadanie cron. Jak łatwo się domyślić, celem pracy crona jest automatyzacja powtarzalnych zadań, dzięki czemu można wydajniej wykorzystać swój czas.

Jednak praca crona WordPress różni się nieco od standardowego crona i dlatego przed przystąpieniem do działania i procesu musisz zrozumieć, czym jest cron WordPress i jak działa.

Co to jest WordPress Cron?

WordPress ma własny system cron do planowania zadań, takich jak sprawdzanie aktualizacji, planowanie postu do publikacji i usuwanie komentarzy z kosza. Wszystkie zadania cron są obsługiwane przez WP-Cron.

Podczas gdy nazwa (i główna idea) pochodzi od crona UNIX, cron WordPress nie działa w ten sposób i używa interwałów do planowania zadań. Domyślne przedziały czasu dostarczane przez WordPress to godzina, dwa razy dziennie, codziennie i co tydzień. W tym przypadku zadania oparte na czasie zależą od użytkowników odwiedzających Twoją witrynę, co oznacza, że ​​cron WordPress zostanie wykonany tylko wtedy, gdy użytkownik odwiedzi Twoją witrynę.

Innymi słowy, cron WordPressa jest wykonywany podczas ładowania strony. Czasami nie jest to tak niezawodne i dlatego wielu użytkowników woli zadanie cron na poziomie serwera od zadania WP-Cron.

W tym artykule pokażę, jak zarządzać zadaniami cron WordPress i skonfigurować prawdziwe zadanie cron dla swojej witryny WordPress.

Jak zarządzać zadaniami WordPress Cron

Istnieje wiele sposobów na skonfigurowanie i zarządzanie zadaniami cron WordPress, ale pokażę Ci dwie popularne metody.

Pierwszy używa wtyczki do zarządzania cronem, takiej jak WP Crontrol, która umożliwia dodawanie, modyfikowanie i zarządzanie zadaniami cron WordPress bezpośrednio z pulpitu nawigacyjnego WP. Możesz także utworzyć zadanie cron, zbudować hooki i funkcje oraz zdefiniować niestandardowe interwały czasowe dla zadań.

Druga metoda dotyczy WordPress CLI.

Jak zarządzać zadaniami WordPress Cron za pomocą wtyczki?

Użyję wtyczki WP Crontrol, która umożliwia przeglądanie i kontrolowanie crona WordPress dla Twojej aplikacji WordPress. Jest to popularna wtyczka używana do obsługi zadań WP cron i ma ponad 100 000 aktywnych instalacji.
Jest to najłatwiejsza metoda zarządzania zadaniami cron WordPress i możesz szybko przeglądać, edytować, tworzyć, usuwać i robić znacznie więcej dzięki zdarzeniam WordPress cron.

Więc zacznijmy!

Krok 1: Zainstaluj wtyczkę WP Control

Tak jak każdą inną wtyczkę, musisz zainstalować WP Crontrol z repozytorium wtyczek i aktywować go. Po zainstalowaniu zauważysz, że w zakładce Narzędzia pojawiła się nowa opcja „Zdarzenia Cron”.

wydarzenia crona

Krok 2: Wyświetl i zrozum zdarzenia Cron

Następnie musisz kliknąć Zdarzenia crona, a zobaczysz listę zdarzeń crona uruchomionych w Twojej aplikacji WordPress.

lista zdarzeń crona

W tej sekcji możesz uruchamiać, edytować i usuwać zdarzenia crona. Zobaczysz tę opcję, gdy najedziesz kursorem myszy na dowolne zdarzenie crona.

Znajdziesz również przydatne informacje o tych zadaniach crona i szybko zidentyfikujesz, które zadanie crona jest używane w jakim celu i wiele więcej. W pierwszej kolumnie Hook pokazuje nazwę haka używanego przez rdzeń WordPressa lub dowolną wtyczkę. Na przykład przedrostek „ wp ” po prostu pokazuje, że jest to cron rdzenia WordPressa. Zauważysz również, że nie ma opcji usuwania tych zdarzeń crona, ale możesz użyć opcji edycji i uruchom teraz . Podobnie w przypadku wtyczek zauważysz, że używane są inne prefiksy (na przykład dla WooCommerce, „wc” lub „woocommerce”).

Druga kolumna Argumenty zawiera tylko argumenty, które są przekazywane do funkcji przechwytujących.

Trzecia kolumna pokazuje, kiedy to zadanie cron zostanie uruchomione następnym razem.

Czwarta kolumna Akcja pokazuje, jaką akcję wykona ten cron ("funkcja" zadania crona).
Ostatnia kolumna definiuje czasy powtarzania zadań cron. Jest to w zasadzie przedział czasu dla zaplanowanego zadania.

Krok 3: Edytuj zdarzenie Cron

Teraz edytujmy zadanie cron WP, aby przetestować tę wtyczkę.

Przejdź do nazwy haka i kliknij edytuj . Pojawi się nowa sekcja „ Edytuj zdarzenie Cron ”, w której zobaczysz różne pola. W moim przypadku edytowałem hak „wp_privacy_delete_old_export_files”. Następnie zmienię powtarzalność tego zadania crona na „Co piętnaście minut”.

edytuj zdarzenia crona

Krok 4: Dodawanie niestandardowego przedziału czasu

Następnie pokażę, jak dodać niestandardowy przedział czasu dla zdarzeń crona. W tym celu kliknij zakładkę „ Harmonogram Cron ”, a pojawi się nowy ekran, na którym zobaczysz szczegóły zaplanowanych przedziałów czasowych. Następnie przewiń w dół, gdzie zobaczysz „ Dodaj harmonogram Cron ”. Wypełnij pola i kliknij Dodaj harmonogram Cron .

dodaj harmonogram crona

Zwróć uwagę, że dane wejściowe dla interwału są podawane w sekundach. Użyję 600 sekund, aby ustawić interwał na 10 minut.

Teraz możesz edytować swoje zdarzenie cron i zastąpić je własnym niestandardowym interwałem.

edytuj zdarzenie crona

Krok 5: Dodawanie nowego zdarzenia Cron

Teraz wiesz, jak zarządzać prostymi zadaniami dla swoich zdarzeń crona, ale co, jeśli chcesz dodać własne zadanie crona do aplikacji WordPress. Nie martw się, to takie proste i wszystko, co musisz zrobić, to postępować zgodnie z poniższymi instrukcjami.

Najpierw kliknij Dodaj zdarzenie crona, a przejdziesz do sekcji dodawania crona. Następnie podaj nazwę haka, jak chcesz (powinna być zgodna z normalną konwencją nazewnictwa PHP i bez spacji).

Następnie dodaj argumenty (jest to opcjonalne) iw moim przypadku jest puste. Następnie wybierz dowolną opcję i wpisz czas w polu Next Run . Na koniec wybierz czas powtarzania (czas harmonogramu) dla nowego crona i kliknij Dodaj zdarzenie .

dodaj zdarzenie cron

Jeśli masz jakiekolwiek pytania dotyczące tego, możesz sprawdzić ustawienia dowolnego uruchomionego zadania crona na podstawie zdarzeń crona.

Po dodaniu nowego zadania crona przejdź do zakładki zdarzeń crona i sprawdź nowo utworzony crona. Zauważysz, że w kolumnie akcji pokaże się Brak (błąd). Dzieje się tak, ponieważ nie zdefiniowałeś żadnych akcji dla tego zadania crona. Dlatego musisz napisać kilka linijek kodu w pliku functions.php motywu i dodać akcję.

brak błędu

Uwaga: zanim przejdziesz dalej, zdecydowanie zaleca się wykonanie kopii zapasowej witryny WordPress.

Otwórzmy plik i dodajmy następujące wiersze kodu zaraz po <?php :

 add_action( 'cloudways_new_cron', 'cw_function' );
funkcja cw_function() {
wp_mail( '[email chroniony]', 'Cloudways Cron', 'Cloudways - zarządzany hosting w chmurze!' );
}

Nie zapomnij zastąpić mojego adresu e-mail swoim własnym.

funkcja adresu e-mail php
Możesz zobaczyć na powyższym obrazku, bezpośrednio edytowałem go za pomocą pulpitu WordPress. Jeśli chcesz, możesz edytować ten plik za pomocą klienta FTP, takiego jak FileZilla.

Następnie sprawdźmy skrzynkę e-mail i zobaczmy, czy otrzymujemy wiadomość.

e-mail crona

Tada! Zrobione i pomyślnie dodaliśmy nowe zdarzenie crona.

Jak zarządzać zadaniami WordPress Cron za pomocą WP CLI

Możesz także przeglądać i zarządzać wszystkimi zadaniami Cron WordPress z CLI WordPress. W Cloudways musisz uruchomić terminal i zalogować się przy użyciu poświadczeń serwera.

Następnie umieść ścieżkę swojej aplikacji WordPress. W moim przypadku adres URL to :

 aplikacje cd/urrghmpqks/public_html/ 

cron zadanie WP CLI

Następnie musisz uruchomić to polecenie:

 lista zdarzeń wp cron 

cron zadanie WP CLI

Możesz zobaczyć nazwę haka, czas następnego uruchomienia, względny następny przebieg i powtarzalność (zaplanowany czas).

Jak skonfigurować prawdziwą pracę Crona?

Teraz wiesz, czym jest praca cron WordPress i jak to działa. Co jeśli chcesz zastąpić je prawdziwym zadaniem cron z jakiegokolwiek powodu, takiego jak mały ruch, ważne zadania, które muszą być uruchomione w określonym czasie, nadmierne ataki DDoS lub długi czas ładowania strony.

Więc zacznijmy!

Krok 1: Otwórz i edytuj plik wp-config.php

Najpierw musisz otworzyć plik wp-config za pomocą klienta FTP, takiego jak FileZilla lub klienta SSH, takiego jak puTTY. Następnie edytuj plik i umieść następujący wiersz kodu przed wierszem, w którym jest napisane /* To wszystko, przestań edytować! Miłego blogowania. */

Kod:

 define('DISABLE_WP_CRON', prawda); 

edytuj plik konfiguracyjny wp

Ten kod wyłącza uruchomione zdarzenia crona w witrynie WordPress, a teraz możesz utworzyć prawdziwe zadanie crona.

Zarządzaj zadaniami Real Cron za pośrednictwem platformy Cloudways

Zacznij od 3-dniowego bezpłatnego okresu próbnego

SPRÓBUJ TERAZ

Krok 2: Dodawanie nowego zadania Cron do serwera

Następnie zaloguj się do swojej platformy Cloudways, a następnie przejdź do panelu Zarządzanie aplikacjami > Zarządzanie zadaniami Cron > sekcja Zaawansowane .

dodanie nowego zadania crona

Następnie dodaj następujące polecenie i kliknij Zapisz zmiany:
*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

zaawansowana karta cron

W powyższym poleceniu najpierw zdefiniowałem pięciominutowy interwał dla zadania cron. Możesz użyć tej witryny, aby sprawdzić wyrażenie harmonogramu. W moim przypadku */5 * * * * jest wyrażeniem interwałowym.

Gratulacje! Pomyślnie dodałeś prawdziwe zadanie crona.

Ostatnie słowa!

Mam nadzieję, że ten artykuł pomógł ci zrozumieć, jak działa praca cron WordPress. Omówiłem dwie metody zarządzania zadaniami cron WordPress; jeden przez wtyczkę, a drugi przez WP-CLI. Omówiłem również, jak skonfigurować prawdziwe zadanie crona na serwerze live.

Jeśli masz jakieś pytania, daj mi znać w sekcji komentarzy poniżej.