W tym poradniku opowiemy Ci o tym czym są tzw. zadania Crona, czyli funkcji WP-Cron w WordPress. Dowiedz się jak tworzyć, przeglądać oraz edytować zadania Cron za pomocą harmonogramu zadań WordPress. Zaczynamy ☺️
Harmonogram zadań WP-Cron w WordPress
WordPress to system CMS, który już dawno w swoim przeznaczeniu wybiegł poza standardowe tworzenie stron internetowych. Obecnie ta najpopularniejsza i jednocześnie najlepsza na świecie [a także darmowa 🤑] platforma służy jako fundament pod blog WordPress, czy też sklep internetowy WooCommerce.
Nic więc dziwnego, że społeczność rozwijająca system WordPress dba o funkcje, które pozwalają korzystać z niego do praktycznie dowolnych celów. Jedną z nich jest ta o nazwie WP-Cron, która pozwala tworzyć zaawansowany harmonogram zadań pozwalający realizować dowolne prace w czasie kiedy nie jesteśmy na stronie internetowej. Jedynym wymogiem WP-Cron jest otworzenie strony np. przez użytkownika. Wtedy wywoływane est cyklicznie wykonywane zadanie Crona np. takie jak kopia zapasowa WordPress realizowana za pomocą wtyczki.
I oczywiście tak jak każdy harmonogram zadań także WP-Cron w WordPress pozwala na definiowanie tego jak często i o jakiej porze dnia ma wywoływać się cykliczne zadanie. Zdziwisz się jak wiele wtyczek, z których korzystasz w WordPress korzysta z Crona 😳 Wystarczy tutaj wspomnieć o znanej z systemowej funkcji WordPress planowania publikacji, która korzysta właśnie z modułu WP-Cron.
Mało tego, korzystając z WP-Cron możesz sprawić, iż WordPress co jakiś czas cyklicznie wywoła Twój własny kod PHP np. napisany przez nas. Skontaktuj się z nami, aby dowiedzieć się jak możemy razem z Tobą stworzyć dedykowaną dla Ciebie funkcję realizowaną za pomocą WP-Cron.
Dlaczego warto korzystać z WP-Cron? Istnieje ku temu kilka powodów:
- Korzystanie z WP-Cron w WordPress pozwala bardzo łatwo korzystać z harmonogramu zadań podczas, gdy np. Twój hosting WordPress może uniemożliwiać dostęp do systemowego planowania zadań.
- Korzystając z API dostarczanego przez WordPress możesz w bardzo prosty sposób wykorzystać w pełni możliwości harmonogramu zadań.
- WP-Cron w przeciwieństwie do systemowego harmonogramu zadań dba o to, aby wszystkie zadania były wykonywane zgodnie z kolejką zadań nawet jeżeli ich czas realizacji zostanie „przegapiony”.
Czy oznacza to jednak, że WP-Cron nie ma wad? Oczywiście, że nie. Jeżeli Twoja strona internetowa posiada wiele wtyczek lub funkcji wywoływanych przez Crona to może skończyć się to po prostu… wykorzystaniem w 100% zasobów serwera. Z tego powodu bardzo ważne jest regularne przeglądanie oraz optymalizowanie zadań WP-Cron wykonywanych na stronie internetowej WordPress. Dodatkowo, jeżeli w momencie wywołania zadania WP-Cron nikt nie odwiedzi Twojej strony to zadanie to zostanie wykonane dopiero w momencie, gdy tak się stanie. Przy małym ruchu na stronie internetowej może być to np. następnego dnia.
Oczywiście dostęp do zadań WP-Cron nie jest taki oczywisty, ponieważ nie możemy konfigurować tego modułu domyślnie z miejsc takich jak panel administratora WordPress. Nie oznacza to jednak, że do przeglądania, tworzenia i edycji harmonogramu WordPress potrzebujesz wiedzy programistycznej.
Pokażemy Ci w tym poradniku jak tego dokonać krok po kroku wprost z poziomu panelu administratora WordPress ☺️
Jak przeglądać, edytować i tworzyć zadania WP-Cron
Aby pomóc Ci w tym zadaniu skorzystamy z wtyczki WordPress o nazwie WP Crontrol. To darmowe narzędzie, które pozwala kontrolować zadania harmonogramu Crona. Oczywiście pierwszą rzeczą, którą musisz wykonać to pobranie, instalacja i włączenie wtyczki w panelu admina WP.
Wtyczkę możesz bezpiecznie usunąć po konfiguracji zadań WP-Cron. Nie będzie miało to wpływu na zapisane zmiany.
Na początek zacznijmy od przeglądania oraz edycji istniejących zadań WP-Cron.
Przeglądanie i edycja zadań WP-Cron
Przejdź do sekcji Ustawienia
, a następnie zakładki Cron Schedules
. Zobaczysz tam listę zadań Cron, które aktualnie realizowane są cyklicznie na Twojej stronie WordPress.
Na naszej przykładowej liście zadań Cron Events
znajdują się takie wywołania jak np. synchronizacja wtyczki Jetpack, automatyczne aktualizacje WordPress, tworzenie i odświeżanie cache, czy też usuwanie szkiców stron i wpisów. Jak więc widzisz znajdują się tutaj nie tylko zadania tworzenie przez zewnętrzne moduły, lecz także systemowe, często kluczowe funkcje WordPress. Z tego powodu musisz szczególnie uważać wprowadzając jakiekolwiek zmiany w WP-Cron.
Oprócz wykorzystywanego przez WP-Cron hooka możesz na liście tej sprawdzić także przekazywane argumenty, następne wywołanie Crona i jego akcję, a także interwały czasowe. Po najechaniu myszką na dowolną z funkcji zobaczysz możliwość edycji zadania. Gdy to zrobisz zobaczysz taki widok jak poniżej.
Możesz dokonać edycji dla pól takich jak:
Hook name – Nazwa wywoływanego hooka za pomocą WP-Cron.
Arguments (optional) – Opcjonalnie przekazywane argumenty przez hooka.
Next run – Data następnego uruchomienia funkcji.
Recurrence – Czas cyklicznego wykonywania zadania.
Po wykonaniu zmień kliknij w przycisk Update Event,
aby zapisać zmiany. Gdy otworzysz zakładkę Cron Schedules
zobaczysz w niej harmonogram czasowy wywoływania zadań Cron.
Na tej liście możesz zobaczyć m.in. nazwę wewnętrzną Crona, czas wywoływania tzw. interwał oraz wyświetlaną nazwę, która pozwala na łatwiejszą identyfikację zadania. W tym miejscu możesz dodać oczywiście także własne wywołanie czasowe, które później możesz wykorzystać przy tworzeniu własnego zadania WP-Cron. A jak tego dokonać?
Dodawanie zadań WP-Cron
Przejdźmy teraz do najważniejszej funkcji wtyczki, czyli tworzenia własnych zadań Cron celem cyklicznego wywołania określonego funkcji w WordPress. W zakładce Cron Events
kliknij w przycisk Add New
.
Do wyboru masz kilka opcji. Omówimy teraz każdą z nich 🤓 Pierwsza z nich pozwala Ci wybrać pomiędzy Standard cron event
a PHP cron event
. Różnica jest taka, że korzystając ze standardowego zadania WP-Cron musisz odwołać się do konkretenego hooka, a wybierając zadanie WP-Cron w PHP możesz dodać własny kod, który wywoła określone zadanie.
W przypadku, gdy zdecydujesz się na pierwszą z opcji musisz wpisać w polu Hook Name
nazwę hooka, a następnie opcjonalnie przekazywane wraz z nim argumenty. Następnie w polu Next Run
wybierz datę najbliższego wywołania Crona oraz interwały czasowe w Recurrence
jeżeli chcesz, aby zadanie było wykonywane cyklicznie.
Oczywiście, aby WP-Cron zadziałał musisz w pliku functions.php
dodać kod, który będzie posiadał w swojej nazwie odwołanie do hooka. Jeżeli zdecydujesz się na stworzenie zadania WP-Cron opartego o kod PHP to zamiast wpisywać nazwę hooka musisz po prostu dodać kod PHP w widocznym polu.
I to tyle 🤓
Stwórz z nami zadanie WP-Cron
Mamy nadzieję, że po przeczytaniu tego całego poradnika wiesz już czym są zadania WP-Cron oraz masz pomysł jak możesz wykorzystać je na swojej stronie internetowej. Pamiętaj, że korzystanie z funkcji WP-Cron wymaga zaawansowanej wiedzy programistycznej, dlatego jeżeli potrzebujesz pomocy w tej kwestii to napisz do nas.
Nasi eksperci są zawsze dostępni, aby móc razem z Tobą realizować zadania oparte o platformę WordPress, a także harmonogram WP-Cron ☺️ to do usłyszenia niebawem ✋