Cron jest standardowym narzędziem UNIX do planowania wykonania zadania (skryptu lub polecenia) w określonym czasie, dacie lub odstępie czasu. Zadanie, które ma być wykonane jest znane jako zadanie crona. Jak można się domyślić, celem pracy cron jest automatyzacja powtarzających się zadań, dzięki czemu można wykorzystać swój czas bardziej produktywnie.
Jednakże zadanie cron WordPress jest nieco inny od standardowego cron, i dlatego przed nurkowaniem do działania i procesu, trzeba zrozumieć, co cron WordPress jest i jak to działa.
- Co to jest WordPress Cron?
- Jak zarządzać zadaniami cron WordPress
- Jak zarządzać zadaniami WordPress Cron z wtyczką
- 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
- How to Manage WordPress Cron Jobs with WP CLI
- Jak skonfigurować prawdziwe zadanie cron
- Krok 1:Otwórz i edytuj plik wp-config.php
- Krok 2: Dodanie nowego zadania cron do serwera
- Słowa końcowe!
Co to jest WordPress Cron?
WordPress ma swój 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.
Pomimo że nazwa (i główna idea) pochodzi z UNIX cron, WP-Cron nie działa w ten sposób i używa interwałów do planowania zadań. Domyślne interwały czasowe dostarczane przez WordPress to godzinne, dwa razy dziennie, codzienne i tygodniowe. W tym przypadku zadania oparte na czasie zależą od użytkowników odwiedzających twoją witrynę, co oznacza, że WP-Cron wykona się tylko wtedy, gdy użytkownik odwiedzi twoją witrynę.
Innymi słowy, WP-Cron jest wykonywany, gdy strona się ładuje. Czasami nie jest to tak niezawodne i dlatego wielu użytkowników woli zadanie cron na poziomie serwera niż zadanie WP-Cron.
W tym artykule pokażę ci, jak zarządzać zadaniami cron WordPress i skonfigurować prawdziwe zadanie cron dla twojej witryny WordPress.
Jak zarządzać zadaniami cron WordPress
Istnieje wiele sposobów konfigurowania i zarządzania zadaniami cron WordPress, ale pokażę ci dwie popularne metody.
Pierwsza wykorzystuje wtyczkę do zarządzania cron, taką jak WP Crontrol, która pozwala dodawać, modyfikować i zarządzać zadaniami cron WordPress bezpośrednio z pulpitu nawigacyjnego WP. Możesz także utworzyć zadanie cron, zbudować haki i funkcje oraz zdefiniować niestandardowe przedziały czasowe dla zadań.
I druga metoda jest z WordPress CLI.
Jak zarządzać zadaniami WordPress Cron z wtyczką
Użyję wtyczki WP Crontrol, która pozwala przeglądać i kontrolować zadania cron WP dla twojej aplikacji WordPress. Jest to popularna wtyczka używana do obsługi zadań cron WP i ma ponad 100 000 aktywnych instalacji.
Jest to najprostsza metoda zarządzania zadaniami cron WordPress i możesz szybko przeglądać, edytować, tworzyć, usuwać i może zrobić o wiele więcej z wydarzeniami cron WP.
Więc zacznijmy!
Krok 1: Zainstaluj wtyczkę WP Control
Tak jak każda inna wtyczka, musisz zainstalować WP Crontrol z repozytorium wtyczek i aktywować go. Po zainstalowaniu zauważysz, że nowa opcja „Zdarzenia Cron” pojawiła się w zakładce Tools.
Krok 2: Wyświetl i zrozum Zdarzenia Cron
Następnie musisz kliknąć Zdarzenia Cron i zobaczysz listę zdarzeń cron, które są uruchamiane na twojej aplikacji WordPress.
Z tej sekcji możesz uruchamiać, edytować i usuwać swoje zdarzenia cron. Zobaczysz tę opcję, gdy najedziesz myszką na dowolne zdarzenie cron.
Znajdziesz również przydatne informacje o tych zadaniach cron i szybko zidentyfikujesz, które zadanie cron jest używane do jakiego celu i wiele więcej. W pierwszej kolumnie, Hook pokazuje nazwę haka używanego przez rdzeń WordPress lub dowolną wtyczkę. Na przykład prefiks „wp” po prostu pokazuje, że jest to cron rdzenia WordPressa. Zauważysz również, że nie ma opcji usuwania tych zdarzeń cron, jednak możesz użyć opcji edytuj i uruchom teraz. Podobnie, dla twoich wtyczek, zauważysz, że inne prefiksy są używane (na przykład dla WooCommerce, „wc” lub „woocommerce”).
Druga kolumna Argumenty po prostu zawiera argumenty, które są przekazywane do funkcji haka.
Trzecia kolumna pokazuje kiedy to zadanie crona zostanie uruchomione następnym razem.
Czwarta kolumna Akcja pokazuje jaką akcję ma wykonać to zadanie crona („funkcja” zadania crona).
Ostatnia kolumna definiuje czas powtarzania zadań crona. Jest to w zasadzie interwał czasowy 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żę ci, jak dodać niestandardowy przedział czasu dla twoich zdarzeń crona. Aby to zrobić, kliknij na zakładkę „Harmonogram Cron” i pojawi się nowy ekran, na którym zobaczysz szczegóły zaplanowanych przedziałów czasowych. Następnie przewiń do dołu, gdzie zobaczysz „Dodaj harmonogram crona”. Wypełnij pola i kliknij Dodaj Harmonogram Cron.
Zauważ, że dane wejściowe dla interwału są 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ń cron, ale co, jeśli chcesz dodać własne zadanie cron dla swojej aplikacji WordPress. Nie martw się, to takie proste i wszystko, co musisz zrobić, to postępować zgodnie z instrukcjami poniżej.
Po pierwsze, kliknij Dodaj zdarzenie cron i dostaniesz się do sekcji dodawania crona. Następnie, po prostu nadaj nazwę haka jak chcesz (powinna być zgodna z normalną konwencją nazewnictwa PHP i bez spacji).
Potem, dodaj argumenty (jest to opcjonalne) i w moim przypadku jest to puste. Następnie wybieramy dowolną opcję i wpisujemy czas w polu Następne uruchomienie. Na koniec wybierz czas rekurencji (czas harmonogramu) dla twojego nowego crona i kliknij Dodaj zdarzenie.
Jeśli masz jakieś pytania dotyczące tego, możesz sprawdzić ustawienia każdego działającego zadania crona z twoich zdarzeń crona.
Po dodaniu nowego zadania crona przejdź do zakładki zdarzeń crona i sprawdź nowo utworzonego crona. Zauważysz, że w kolumnie akcji wyświetli się Brak (błąd). Jest to spowodowane tym, że nie zdefiniowałeś żadnych akcji dla tego zadania crona. Dlatego musisz napisać kilka linii kodu w pliku functions.php motywu i dodać akcję.
Uwaga: Zanim przejdziesz dalej, zaleca się wykonanie kopii zapasowej witryny WordPress.
Otwórzmy plik i dodajmy następujące linie kodu zaraz po <?php:
add_action( 'cloudways_new_cron', 'cw_function' );function cw_function() {wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - a Managed Cloud Hosting!' );}
Nie zapomnij zastąpić mojego adresu e-mail swoim własnym.
Widzisz na powyższym obrazie, bezpośrednio edytowałem go za pomocą pulpitu nawigacyjnego WordPress. Jeśli chcesz, możesz edytować ten plik za pomocą klienta FTP, takiego jak FileZilla.
Następnie sprawdźmy skrzynkę odbiorczą poczty elektronicznej i zobaczmy, czy otrzymujemy wiadomość.
Tada! Zrobione i pomyślnie dodaliśmy nowe zdarzenie cron.
How to Manage WordPress Cron Jobs with WP CLI
Możesz również przeglądać i zarządzać wszystkimi swoimi zadaniami cron WordPress z WordPress CLI. W Cloudways, musisz uruchomić terminal i zalogować się za pomocą poświadczeń serwera.
Następnie, umieść ścieżkę swojej aplikacji WordPress. W moim przypadku, URL był :
cd applications/urrghmpqks/public_html/
Następnie, musisz uruchomić to polecenie:
wp cron event list
Możesz zobaczyć nazwę haka, następny czas uruchomienia, następne uruchomienie względne i powtarzalność (zaplanowany czas).
Jak skonfigurować prawdziwe zadanie cron
Teraz wiesz, co to jest zadanie cron WordPress i jak to działa. Co jeśli chcesz zastąpić go prawdziwym zadaniem cron z jakiegokolwiek powodu, takiego jak niski ruch, ważne zadania, które muszą być uruchamiane w określonym czasie, nadmierne ataki DDoS lub wysoki czas ładowania strony.
Zacznijmy więc!
Krok 1:Otwórz i edytuj plik wp-config.php
Po pierwsze, musisz otworzyć plik wp-config za pomocą klienta FTP, takiego jak FileZilla lub klienta SSH, takiego jak puTTY. Po tym, edytuj plik i umieść następującą linię kodu przed linią gdzie jest napisane /* To wszystko, przestań edytować! Szczęśliwego blogowania. */
Kod:
define('DISABLE_WP_CRON', true);
Ten kod wyłącza działające zdarzenia cron w twojej witrynie WordPress i teraz możesz stworzyć prawdziwe zadanie cron.
Krok 2: Dodanie nowego zadania cron do serwera
Następnie zaloguj się do swojej platformy Cloudways, a następnie przejdź do panelu zarządzania aplikacjami > Zarządzanie zadaniami cron > Sekcja zaawansowana.
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, po pierwsze, zdefiniowałem interwał pięciu minut dla zadania cron. Możesz użyć tej strony, aby sprawdzić wyrażenie harmonogramu czasu. W moim przypadku, */5 * * * *
jest wyrażeniem interwału.
Gratulacje! Z powodzeniem dodałeś prawdziwe zadanie cron.
Słowa końcowe!
Mam nadzieję, że ten artykuł pomógł ci zrozumieć, jak działa zadanie 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 cron na serwerze na żywo.