Как интегрировать уведомление о напоминании Slack с WordPress
Опубликовано: 2020-02-07С таким количеством различных требований, соперничающих за ваше внимание в современной жизни, может быть легко потерять из виду множество важных задач, которые вы должны выполнять, и, надеюсь, вам напомнят. В конце концов, стол, полный нацарапанных стикеров, может сделать не так много, чтобы напомнить вам о чем-то важном, так что велика вероятность, что вы недавно о чем-то забыли. Тем не менее, есть способ заставить Slack напоминать вам обо всех этих задачах по мере необходимости, и хорошая новость заключается в том, что мы собираемся показать вам, как это настроить!
Slack может напоминать вам о большом количестве вещей. Кто, что, когда и почему напоминания чрезвычайно важны и могут охватывать все, что угодно, от установки напоминания о встрече с менеджером вашего банка, своевременного представления ваших командировочных расходов или напоминания о сроках важного проекта. Пример напоминания, который мы будем использовать в этом блоге, — это настройка сообщения «напоминание Slack о публикации в блоге». Хотя вы можете заменить это на любое напоминание, которое больше подходит вам и вашей ситуации.
Учитывая важность SEO, большинство людей, которые управляют веб-сайтами, осознают жизненно важное значение регулярного обновления и публикации новых блогов. Хотя задачи, необходимые для достижения успеха в SEO, являются тщательно охраняемым секретом, мы знаем, что регулярная публикация нового блога — отличный способ подняться в рейтинге Google SEO. Таким образом, владельцев веб-сайтов может заинтересовать приложение для Slack, которое отправит уведомление на ваш канал Slack, если вы не разместили новую статью в своем блоге в течение последних 7 дней. Мы надеемся, что эти напоминания помогут вам лучше управлять своими статьями и блогами, а также помогут напомнить вам о необходимости их своевременной публикации.
В этой статье мы покажем вам, как вы можете интегрировать уведомления Slack в свой блог WordPress с помощью приложения, которое вы можете создать самостоятельно.
Начало работы — создание приложения Slack
Чтобы начать, вам сначала нужно создать приложение в своей учетной записи Slack. Для этого перейдите на страницу Slack API и нажмите кнопку «Создать новое приложение».
Это создаст всплывающее окно. Заполните запрошенные данные, и вы будете перенаправлены на «страницу настроек». На этой странице настроек нажмите «Входящие веб-перехватчики» в левом разделе. Переключите эту опцию на «Вкл.».
Прокрутите вниз и нажмите кнопку «Запрос на добавление нового веб-перехватчика». Если вы не являетесь администратором, вам необходимо получить одобрение администратора для доступа к этой опции.
Как только приложение будет одобрено, нажмите «Установить приложение» в меню слева. Затем нажмите кнопку «Установить приложение в рабочую область».
Выберите нужный канал на следующей странице и нажмите кнопку «Разрешить». Затем вы будете перенаправлены на страницу, где вы получите свой URL-адрес Webhook. Скопируйте этот URL-адрес, так как он понадобится вам в ближайшее время.
Отправить уведомление на канал Slack из WordPress
Теперь вы готовы продолжить, так как у вас есть URL-адрес веб-перехватчика, а также настроен канал Slack, куда будет отправляться уведомление. Затем вам нужно написать код, который отправляет запрос POST вместе с сообщением на URL-адрес веб-перехватчика. Этот URL-адрес веб-перехватчика автоматически отправит полученное сообщение в выбранный канал Slack.
Итак, займемся кодированием.
Подсчет дней, когда была опубликована последняя статья
При отправке уведомления в Slack-канал сначала нужно рассчитать дни с момента публикации последней статьи. Код ниже войдет в ваши активные темы: файл 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; }
Этот код и метод получат последний добавленный пост из базы данных WordPress и рассчитают количество дней между тем, когда вы его запросили, и датой публикации последней статьи.
Отправить запрос POST в Webhook
WordPress предоставляет функцию wp_remote_post() , которая выполняет HTTP-запрос и получает ответ. Используя этот метод, мы отправим наше пользовательское сообщение на веб-перехватчик.
Создайте файл notification.php
в корневом каталоге вашего проекта WordPress и добавьте в него приведенный ниже код.
<?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, ) ); }
Этот код отправит сообщение на URL-адрес Webhook, если новая статья не будет добавлена в ваш блог более 5 дней. В результате вы получите уведомление на выбранном канале Slack.
Установите cron на свой сервер
Наша цель — создать автоматизированную систему, которая будет уведомлять команду об этой задаче на конкретном канале Slack. Из-за этого мы создали файл PHP в корневой папке проекта WordPress. Установив cron с этим файлом на своем сервере, вы можете настроить автоматический запуск приложения Slack.
Настройка cron на сервере может отличаться в зависимости от вашего хостинг-провайдера. Ради этого урока мы приведем пример того, как настроить cron на CPanel веб-хостинга Media Temple.
Войдите в свою CPanel. Выберите «Задания Cron» в разделе «Дополнительно».
На следующей странице выберите параметр «Один раз в день (0 0 * * *)» в раскрывающемся списке «Общие настройки». Это означает, что cron будет выполнять скрипт один раз в день.
Наконец, в поле «Команда» добавьте приведенный ниже оператор, изменив путь к файлу notification.php
.
<pre>/usr/local/bin/php /home/xyz/public_html/notification.php</pre>
Вот и все!
Следуя этому руководству, вы теперь можете создать собственное приложение Slack для себя и своей команды. Это, безусловно, поможет всем быть в курсе запланированных блогов и гарантирует, что вы не пропустите ни одной важной даты.
Пост «Как интегрировать напоминание Slack в WordPress» впервые появился на UpdraftPlus. UpdraftPlus — Плагин резервного копирования, восстановления и миграции для WordPress.