Jak zarządzać zadaniami WordPress Cron
Opublikowany: 2021-05-14
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 zarządzać zadaniami WordPress Cron za pomocą wtyczki?
- 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”.

Krok 2: Wyświetl i zrozum zdarzenia Cron
Następnie musisz kliknąć Zdarzenia crona, a zobaczysz listę zdarzeń crona uruchomionych w Twojej aplikacji WordPress.

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”.

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 .

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.

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 .

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ę.

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.

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ść.

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/

Następnie musisz uruchomić to polecenie:
lista zdarzeń wp cron

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); 
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
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 .

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

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.
