Jak pracować z WP-CRON w WordPress
Dzisiaj będę mówić o, co jest napisane tylko w angielskim Internecie, nie ma specjalnych informacji w języku rosyjskim. Chcę porozmawiać o tak wspaniałym wynalazku w CMS jak pseudo cron. odpowiem od razu, że ten cron jest świetny dla wtyczek, ponieważ nie wymaga żadnych dodatkowych ustawień na serwerze, co oznacza, że możesz rozwijać swoje wtyczki i inne, kupujący Twoją wtyczkę nie wykona żadnych dodatkowych gestów.
Trochę o demonie CRON
Do czego służy CRON? - demon cron jest najczęściej używany do ponownego przetwarzania niektórych poleceń na stronie, kiedyś testowałem zewnętrzne API, z którego moja wtyczka pobierała dane. Musiałem sprawdzać dane raz na godzinę, i jeśli zostaną znalezione nowe dane, następnie dodaj je do swojej witryny.
Prosty przykład działania CRON na WordPressie
Więc, tutaj jest mały kod, który sprawdza czas i czy czas się skończył, następnie uruchamiany jest specjalny hak.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
add_filter( 'cron_schedules', 'myprefix_add_weekly_cron_schedule' ); function myprefix_add_weekly_cron_schedule( $schedules ) { $schedules['weekly'] = array( 'interval' => 120, // каждые 2 сикунды 'display' => __( 'Once Weekly' ), ); return $schedules; } if ( ! wp_next_scheduled( 'myprefix_my_cron_action' ) ) { wp_schedule_event( time(), 'weekly', 'myprefix_my_cron_action' ); } add_action( 'myprefix_my_cron_action', 'myprefix_function_to_run' ); function myprefix_function_to_run() { mail('ваш-email@wp-admin.com.ua', 'My Subject', 'test send mail'); } |
Ten kod może działać jak w pliku functions.php twojego motywu, i w utworzonej wtyczce.
Co jest w funkcji myprefix_function_to_run() powtórzy każdy 2 minuty, czy raczej każdy 120 sekundy, w naszym przypadku jest to wysłanie e-maila testowego. Nie zapomnij zmienić tekstu do sprawdzenia ваш-email@wp-admin.com.ua Na tym, gdzie będziesz otrzymywać e-maile co 2 minuty.
Dla tych, kto leniwy jest prostsza i gorsza opcja, gorzej, bo, że podczas opracowywania motywów lub wtyczek premium będziesz musiał dodatkowo przeprowadzić automatyczną instalację za pomocą wtyczki Aktywacja wtyczki TGM.
Odbiegliśmy trochę od tematu rozmowy., aby nie przepisywać kodu uruchamiającego automatyczne wykonywanie twoich funkcji (kod wp crona, które omówiliśmy powyżej). Aby nie zrozumieć kodu, który pokazałem powyżej, Mogę polecić wtyczkę WP Crontrol (Zdarzenia WP-Cron), do pracy której wystarczy dodać funkcję i hak w kodzie wtyczki lub pliku functions.php.
1 2 3 4 5 |
add_action( 'myprefix_my_cron_action', 'myprefix_function_to_run' ); function myprefix_function_to_run() { // тут код который надо запускать время от времени mail('maxix@ukr.net', 'My Subject', 'test2'); } |
Po dodaniu haka i zainstalowaniu wtyczki, aktywuj to, następnie przejdź do panelu administracyjnego w elemencie Instrumenty -> Kontrola.
Po przejściu zobaczysz okno ze wszystkimi uruchomionymi procesami, a nawet tematami, którego nie stworzyłeś, te, które są już uruchomione przez inne wtyczki. Poniżej będziesz mógł dodać nowy proces.
Aby dodać nasz proces (хука myprefix_my_cron_action), będziemy musieli wypełnić pola, jak pokazano na poniższym obrazku.
Rozważ procedurę
- Nazwa haka - podaj nazwę akcji, który został utworzony przed myprefix_my_cron_action.
- Następny bieg - wskazać, kiedy rozpocząć wykonywanie crona.
- Harmonogram wydarzeń - wskazać, jak często uruchamiać zdarzenie cron.
- Po wypełnieniu formularza dodaj wydarzenie.
po dodaniu, Twoje wydarzenie pojawi się na liście wszystkich wydarzeń.
Właściwie to wszystko, Radziłbym mniej używać wtyczek i częściej korzystać z pierwszej metody, ponieważ jest to bardziej poprawne i podczas tworzenia wtyczki nie musisz uczyć użytkowników, jak to zrobić, że musisz zainstalować inną wtyczkę, a bez niej działanie tej wtyczki jest niemożliwe, który sprzedajesz.
Powodzenia w tworzeniu wtyczek i korzystaniu z CRON, i postaram się nadal zadowalać Cię nowymi lekcjami.
/*
- Podstawowy kurs projektowania stron internetowych;
- Układ stron;
- Ogólny kurs CMS WordPress oraz kontynuacja kursu dotyczącego tworzenia szablonów;
- Tworzenie stron internetowych w PHP.