Jak zintegrować powiadomienie o Slack z WordPress?

Opublikowany: 2020-02-07

Przy tak wielu różnych wymaganiach walczących o twoją uwagę we współczesnym życiu, łatwo można stracić z oczu wiele ważnych zadań, które powinieneś wykonać i miejmy nadzieję, że ci się przypomni. W końcu biurko pełne nabazgranych karteczek samoprzylepnych może zrobić tylko tyle, aby przypomnieć Ci o czymś ważnym, więc istnieje duża szansa, że ​​ostatnio o czymś zapomniałeś. Istnieje jednak sposób, aby Slack przypominał ci o wszystkich tych zadaniach, kiedy tego potrzebujesz, a dobrą wiadomością jest to, że pokażemy ci, jak to skonfigurować!

Może być wiele rzeczy, o których możesz potrzebować Slack, aby ci przypomnieć. Przypomnienie kto, co, kiedy i dlaczego jest niezwykle ważne i może obejmować wszystko, od przypomnienia o spotkaniu z kierownikiem banku, terminowego zgłaszania kosztów podróży lub przypomnienia o zbliżającym się terminie ważnego projektu. Przykładem przypomnienia, którego będziemy używać na tym blogu, jest skonfigurowanie wiadomości „przypomnienie na blogu o Slack”. Chociaż możesz zastąpić to dowolnym przypomnieniem, które jest bardziej odpowiednie dla Ciebie i Twojej sytuacji.

Biorąc pod uwagę znaczenie SEO, większość osób prowadzących strony internetowe zdaje sobie sprawę z tego, jak ważne jest regularne aktualizowanie i publikowanie nowych blogów. Chociaż zadania potrzebne do odniesienia sukcesu w SEO są pilnie strzeżoną tajemnicą, wiemy, że regularne publikowanie nowego bloga to świetny sposób na awans w rankingu Google SEO. W związku z tym właściciele witryn mogą być zainteresowani aplikacją na Slack, która wyśle ​​powiadomienie na Twój kanał Slack, jeśli nie opublikowałeś nowego artykułu na swoim blogu w ciągu ostatnich 7 dni. Mamy nadzieję, że te przypomnienia pomogą Ci lepiej zarządzać artykułami i blogami, a także pomogą Ci przypomnieć o ich opublikowaniu na czas.

W tym artykule pokazujemy, jak zintegrować powiadomienie Slack ze swoim blogiem WordPress za pomocą aplikacji, którą możesz stworzyć samodzielnie.

Pierwsze kroki – Utwórz aplikację na Slack

Aby rozpocząć, musisz najpierw utworzyć aplikację na swoim koncie Slack. Aby to zrobić, przejdź do strony Slack API i kliknij przycisk „Utwórz nową aplikację”.

Spowoduje to utworzenie wyskakującego okienka. Uzupełnij żądane dane, a zostaniesz przekierowany na „stronę ustawień”. Na tej stronie ustawień kliknij „Przychodzące webhooki” w lewej sekcji. Przełącz tę opcję na "Włączone".

Przewiń w dół i kliknij przycisk „Poproś o dodanie nowego webhooka”. Jeśli nie jesteś administratorem, musisz uzyskać zgodę administratora, aby uzyskać dostęp do tej opcji.

Po zatwierdzeniu aplikacji kliknij „Zainstaluj aplikację” w menu po lewej stronie. A następnie naciśnij przycisk „Zainstaluj aplikację w obszarze roboczym”.

Wybierz żądany kanał na następnej stronie i kliknij przycisk „Zezwól”. Następnie zostaniesz przekierowany na stronę, na której otrzymasz adres URL Webhooka. Skopiuj ten adres URL, ponieważ będzie on wkrótce potrzebny.

Wyślij powiadomienie na kanale Slack z WordPress

Jesteś teraz gotowy do kontynuowania, ponieważ masz adres URL Webhooka i skonfigurowałeś również kanał Slack, na który zostanie wysłane powiadomienie. Następnie musisz napisać kod, który wysyła żądanie POST wraz z wiadomością na adres URL webhooka. Ten adres URL webhooka automatycznie opublikuje otrzymaną wiadomość na wybranym kanale Slack.

Więc zróbmy trochę kodowania.

Oblicz dni, w których opublikowano ostatni artykuł

Wysyłając powiadomienie na kanał Slack, musisz najpierw obliczyć dni od opublikowania ostatniego artykułu. Poniższy kod wejdzie do twoich aktywnych motywów: plik functions.php .

 <?php function get_daycount_of_last_blog_posted(){   $args=array(        'post_type' => 'post',        'post_status' => 'publish',        'posts_per_page' => 1,    );    $datediff = 0;    $blog_posts = new WP_Query( $args );    if ( $blog_posts->have_posts() ) :  while ( $blog_posts->have_posts() ) : $blog_posts->the_post();   $datediff = time() - strtotime(get_the_date());      endwhile;        wp_reset_postdata();    endif;    if ($datediff) return round($datediff / (60 * 60 * 24));   return $datediff; }

Ten kod i metoda pobierze ostatni dodany post z bazy danych WordPress i obliczy dni między momentem, w którym o to poprosiłeś, a opublikowaniem ostatniego artykułu.

Wyślij żądanie POST do webhooka

WordPress udostępnia funkcję wp_remote_post() , która wykonuje żądanie HTTP i odbiera odpowiedź. Korzystając z tej metody wyślemy naszą niestandardową wiadomość do webhooka.

Utwórz plik notification.php w katalogu głównym swojego projektu WordPress i dodaj do niego poniższy kod.

 <?php require_once('wp-load.php'); $slack_webhook_url = 'YOUR_WEBHOOK_URL'; $last_blog_day_count = get_daycount_of_last_blog_posted(); if($last_blog_day_count > 5) { $msg = 'Hey team, our app found that we have not added new article on UpdraftPlus for more than 5 days. Please look into it.';    // Prepare the data / payload to be posted to Slack  $data = array(        'payload'   => json_encode( array(                "text" =>  $msg,            )        )    );    // Post our data via the slack webhook endpoint using wp_remote_post  wp_remote_post( $slack_webhook_url, array(            'method' => 'POST',            'body' => $data,        )    ); }

Ten kod wyśle ​​wiadomość na adres URL webhooka, jeśli nowy artykuł nie zostanie dodany do Twojego bloga przez ponad 5 dni. W rezultacie otrzymasz powiadomienie na wybranym kanale Slack.

Ustaw crona na swoim serwerze

Naszym celem jest stworzenie zautomatyzowanego systemu, który powiadomi zespół o tym zadaniu na konkretnym kanale Slack. Z tego powodu utworzyliśmy plik PHP w folderze głównym projektu WordPress. Ustawiając cron z tym plikiem na swoim serwerze, możesz skonfigurować aplikację Slack, aby działała automatycznie.

Ustawienie crona na serwerze może się różnić w zależności od dostawcy hostingu. Na potrzeby tego samouczka podamy przykład, jak ustawić cron na CPanel hostingu Media Temple.

Zaloguj się do swojego CPanel. Wybierz „Zadania Cron” w sekcji „Zaawansowane”.

Na następnej stronie wybierz opcję „Raz dziennie (0 0 * * *)” z menu „Wspólne ustawienia”. Oznacza to, że cron wykona skrypt raz dziennie.

Na koniec w polu Polecenie dodaj poniższą instrukcję, dostosowując ścieżkę do pliku notification.php .

 <pre>/usr/local/bin/php /home/xyz/public_html/notification.php</pre>

Otóż ​​to!

Postępując zgodnie z tym samouczkiem, możesz teraz stworzyć własną aplikację Slack dla siebie i swojego zespołu. Pomoże to wszystkim być na bieżąco z zaplanowanymi blogami i zapewni, że nie przegapisz żadnych ważnych dat.

Wpis Jak zintegrować powiadomienie o Slack z WordPressem pojawił się jako pierwszy na UpdraftPlus. UpdraftPlus – Wtyczka do tworzenia kopii zapasowych, przywracania i migracji dla WordPress.