Как интегрировать уведомление о напоминании 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.