Jak stworzyć i zmodyfikować zadanie WordPress Cron

Rifat Wtyczki WordPress Jul 4, 2023

Cron to narzędzie powszechnie stosowane w systemach Unix/Linux do planowania poleceń lub skryptów na serwerze internetowym działającym w tle. Zadanie cron odnosi się do określonego zadania zaplanowanego do uruchomienia w ustalonych z góry godzinach, datach lub odstępach czasu. Takie zadania są często powtarzalne i zautomatyzowane w celu zwiększenia wydajności. W przypadku WordPress funkcja WP-Cron służy do emulacji systemowego crona.

Instancje zadań cron WordPress mogą obejmować planowanie publikacji postu lub uruchamianie wtyczki zapasowej zgodnie z wcześniej zdefiniowanym harmonogramem. Głównym celem tej dyskusji jest zapewnienie kompleksowych wskazówek dotyczących łatwego tworzenia, modyfikowania i wykonywania zadania cron WordPress.

Jak skonfigurować zadanie Cron w WordPress

Warto zauważyć, że WP-Cron różni się nieco od systemowego crona, a każdy z nich ma swoje zalety i wady. WP-Cron opiera się wyłącznie na interwałach, podczas gdy systemowy cron opiera się na określonych czasach. Ponadto WP-Cron działa tylko wtedy, gdy strona jest ładowana, niezależnie od tego, czy jest to back-end, czy front-end, co może skutkować mniejszą niezawodnością. Domyślne interwały dostarczane przez WordPress obejmują harmonogramy godzinowe, dwa razy dziennie i dzienne.

Aby zaplanować zdarzenia WP-Cron, konieczne jest utworzenie niestandardowych haków. Zdecydowanie zalecamy zapoznanie się z oficjalnym podręcznikiem wtyczek WordPress, który oferuje doskonały przewodnik po planowaniu wydarzeń WP-Cron. Jeśli szukasz alternatywnej metody konfiguracji crona systemowego w WordPressie, sugerujemy zapoznanie się z artykułem Toma Mcfarlina’ na temat definiowania zadania crona WordPressa. Dodatkowo, dla tych, którzy mogą być mniej doświadczeni, zbadamy łatwy sposób wykorzystania WP-Cron w połączeniu z popularną darmową wtyczką WP C r ontrol. Ta wtyczka pozwala monitorować i zarządzać działaniami w systemie WP-Cron.

Twórz niesamowite strony internetowe

Z najlepszym darmowym kreatorem stron Elementor

Zacząć teraz

WP Crontrol może pochwalić się imponującą liczbą aktywnych instalacji przekraczającą 200 000, w połączeniu z wyjątkową oceną 4,5 na 5. W społeczności WordPress ta wtyczka wzbudziła znaczny podziw.

Ta wtyczka oferuje niezwykłą użyteczność, zapewniając kompleksowy przegląd zadań CRON, które mają zostać uruchomione. Służy jako doskonały pierwszy krok w kierunku zrozumienia podstawowych procesów i określenia ich statusu operacyjnego. Takie zasługi doprowadziły do ​​jednomyślnej oceny 5 gwiazdek. Dodatkowo możliwość tworzenia nowych zadań cron i inicjowania wykonywania istniejących jeszcze bardziej zwiększa jego wartość, gwarantując dodatkowe 5 gwiazdek, jak potwierdził Josh, twórca Caldera Forms.

Aby uzyskać tę wtyczkę, można ją pobrać bezpośrednio z repozytorium WordPress lub zlokalizować na pulpicie nawigacyjnym WordPress w sekcji „Dodaj nowe” wtyczki. Godne uwagi funkcje WP Control obejmują:

  • Kompleksowe wyświetlanie wszystkich zdarzeń cron, w tym ich odpowiednich argumentów, wzorców powtarzalności i nadchodzących czasów wykonania.
  • Możliwość modyfikowania, usuwania lub natychmiastowego inicjowania dowolnych zdarzeń cron.
  • Przepis o wprowadzeniu nowych zdarzeń cron.
  • Możliwość dodawania, modyfikowania i usuwania niestandardowych harmonogramów cron.

Harmonogramy WP-Cron

Po aktywacji użytkownik uzyskuje możliwość modyfikowania harmonogramów zadań WordPress Cron, uzyskując dostęp do sekcji „Harmonogramy Cron” w ustawieniach pulpitu nawigacyjnego WordPress. Należy zauważyć, że wtyczka wprowadza dodatkowy domyślny harmonogram tygodniowej częstotliwości. Ponadto użytkownicy mają możliwość uwzględnienia dodatkowych harmonogramów mierzonych w sekundach, na przykład 21600 sekund na wykonanie zadań co 6 godzin.

Przedziały te można włączyć do kodu za pomocą filtra, którego przykładem jest następujący wiersz kodu:

add_filter( 'cron_schedules', 'example_add_cron_interval' );

function example_add_cron_interval( $schedules ) {
 $schedules['five_seconds'] = array(
 'interval' => 5,
 'display' => esc_html__( 'Every Five Seconds' ),
 );

return $schedules;
 }

Zdarzenia WP-Cron


Następnie wtyczki można również użyć do przeglądania istniejących zadań WordPress Cron, które zostały zaplanowane. Aby uzyskać dostęp do tej funkcji, przejdź do sekcji „Zdarzenia Cron” w zakładce „Narzędzia”. Liczne nazwy działań są łatwe do zidentyfikowania, ponieważ oczekuje się, że będą odpowiadać określonym fragmentom nazwy wtyczki, takim jak „woocoomerce_cleanup_sessions” lub „gravityforms_cron”.


Aby zainicjować natychmiastowe wykonanie zdarzenia Cron, wystarczy kliknąć opcję „Uruchom teraz” obok nazwy odpowiedniej akcji. Funkcjonalność ta okazuje się korzystna podczas procesu rozwiązywania problemów, szczególnie gdy konieczne staje się wielokrotne uruchamianie zdarzenia Cron.

Dodaj zdarzenie Crona

Dodatkowo masz możliwość włączenia zdarzeń Cron do swojej konfiguracji. W tym przypadku zademonstrujemy proces dodawania zadania WordPress Cron specjalnie dla wtyczki Disqus. Wiele osób może chcieć wykonać to zadanie, aby zmodyfikować częstotliwość synchronizacji lub rozwiązać problemy związane z synchronizacją komentarzy. Dokumentacja dostarczona przez każdego zewnętrznego twórcę wtyczek powinna zawierać wyznaczoną nazwę dla ich zdarzenia cron, czyli innymi słowy nazwę akcji. W przypadku wtyczki Disqus nazwa akcji to „dsq_sync_forum”.

Jeśli zamierzasz utworzyć zdarzenie cron od podstaw, będziesz potrzebować odpowiedniego haka akcji w swoim kodzie, takiego jak plik functions.php. Poniższy przykład, dzięki uprzejmości WP-Crontrol, ilustruje tę koncepcję:

add_action( 'my_hookname', 'my_function' );

Następną funkcją, którą napiszesz, jest -

function my_function() {
    wp_mail( '[email protected]', 'WP Crontrol', 'WP Crontrol rocks!' );
}


W przypadku Disqus nasz pierwszy krok polega na włączeniu nowego harmonogramu cron o czasie trwania 600 sekund (co odpowiada 10 minutom). Następnie przystępujemy do uzyskania dostępu do funkcji „Add Cron Event”, gdzie jako wyznaczoną nazwę akcji wpisujemy „dsq_sync_forum”. Następnie wybieramy kolejny czas wykonania i wybieramy ostatnio ustalony interwał 10-minutowy. Na koniec kończymy proces, wybierając „Dodaj zdarzenie Cron”. W rezultacie ta procedura zapewnia automatyczne powtarzanie co 10 minut, ułatwiając ręczną synchronizację komentarzy Disqus z naszą bazą danych WordPress.

Zasadniczo korzystanie z tej funkcji jest proste i przyjazne dla użytkownika.

Zmodyfikuj wydarzenie kukurydziane

Ponadto możliwa jest modyfikacja istniejących wcześniej zdarzeń Crona poprzez wybranie opcji „Edytuj” znajdującej się obok nazwy akcji. W rezultacie zyskujesz możliwość zmiany nazwy akcji, argumentów, późniejszego wykonania i zaplanowanego powtarzania. Podczas wprowadzania takich zmian należy zachować ostrożność, ponieważ prawidłowe działanie wielu wtyczek zależy od ich zadań Cron.

Dodaj zadanie Cron za pomocą cPanel

Jeśli masz dostęp do konta cPanel dostarczonego przez dostawcę usług hostingowych, możesz użyć panelu sterowania do ustanowienia zadań cron. Aby to zrobić, zaloguj się na swoje konto cPanel i przejdź do sekcji „Zaawansowane”, a następnie wybierz „Cron Jobs”.

Strona ustawień Cron Jobs oferuje opcje konfiguracji powiadomień o zadaniach Cron i ustanawiania nowych. Aby dołączyć zadanie Cron, przejdź do sekcji „Dodaj nowe zadanie Cron”, przewijając w dół.

W tej sekcji będziesz mieć możliwość dostosowania częstotliwości poleceń.

Menu Ustawienia wspólne obejmuje różne wstępnie skonfigurowane opcje, od częstotliwości raz na minutę do raz na rok. Użytkownicy mogą wybrać dowolną z tych opcji lub alternatywnie dostosować poniższe pola, wprowadzając spersonalizowaną wartość.

Po skonfigurowaniu częstotliwości zadania cron możesz przystąpić do wprowadzania polecenia, które wykona ono w wyznaczonym polu polecenia. Aby zachować zmiany, zapisz zadanie Cron, wybierając opcję „Dodaj nowe zadanie Cron”. W związku z tym nowo utworzone zadanie cron zostanie wyświetlone wśród bieżących zadań cron wymienionych na dole strony.

Wyłącz WP Crona

W niektórych przypadkach wykorzystanie funkcji WP-Cron może spowodować komplikacje dla Twojej witryny. WP-Cron to symulowana wersja zadania cron, pozbawiona ciągłej pracy typowej dla takich zadań. Zamiast tego WordPress wykonuje skrypt wp-cron.php za każdym razem, gdy ładowana jest strona.

Takie podejście może stanowić wyzwanie dla witryn o dużym natężeniu ruchu, ponieważ podczas każdego ładowania strony konieczne jest przydzielenie znacznych zasobów na wykonanie wp-cron.php. Jeśli skrypt nie uruchomi się z powodu załadowania strony, zaplanowane polecenia mogą również nie zostać wykonane, ponieważ wp-cron.php nie monitoruje aktywnie interwałów.

Jeśli napotkasz problemy z WP-Cron, możesz dezaktywować tę funkcję, włączając następujący kod do pliku WordPress wp-config.php:

define('DISABLE_WP_CRON', true);

Po zapisaniu zmian w pliku proces jest zakończony. Niemniej jednak, jeśli zdecydujesz się wyłączyć WP-Cron, będziesz musiał ustanowić alternatywne rozwiązanie, stosując dowolną z metod opisanych w poprzednich sekcjach tego samouczka.

Podsumowanie

Zwiększ wydajność i zmniejsz wydatki, jednocześnie optymalizując funkcjonalność witryny, wykorzystując integracje klasy korporacyjnej o wartości co najmniej 275 USD, które są bezproblemowo zintegrowane z każdym zarządzanym planem WordPress. Te integracje obejmują wydajną sieć dostarczania treści (CDN), solidną ochronę przed rozproszoną odmową usługi (DDoS), kompleksowe zabezpieczenia przed złośliwym oprogramowaniem i próbami włamań, wydajne mechanizmy buforowania brzegowego i najszybsze procesory Google. Rozpocznij swoją podróż bez długich zobowiązań umownych, skorzystaj z migracji z przewodnikiem i ciesz się 30-dniową gwarancją zwrotu pieniędzy.

Divi WordPress Theme