Slack リマインダー通知を WordPress と統合する方法

公開: 2020-02-07

現代生活では、非常に多くのさまざまな要求があなたの注意を引きつけようと競い合っているため、実行するはずの多くの重要なタスクを見失いがちです。 結局のところ、何か重要なことを思い出させるために、走り書きの付箋でいっぱいの机でできることは限られているため、最近何かを忘れている可能性は十分にあります。 ただし、必要に応じてこれらすべてのタスクを Slack にリマインドさせる方法があります。良いニュースは、その設定方法を紹介することです!

Slack に通知してもらいたいことがたくさんあります。 誰が、何を、いつ、なぜリマインダーを送信するかは非常に重要であり、銀行のマネージャーとの会議のリマインダーを設定したり、旅費を期限内に提出したり、重要なプロジェクトの締め切りを知らせるリマインダーを設定したりすることができます。 このブログで使用するリマインダーの例は、「ブログ投稿 Slack リマインダー」メッセージの設定です。 ただし、これを、あなたとあなたの状況により適切な種類のリマインダーに自由に置き換えてください.

SEO の重要性を考えると、Web サイトを運営するほとんどの人は、新しいブログを定期的に更新して投稿することが重要であることを認識しています。 SEO で成功するために必要なタスクは厳重に守られた秘密ですが、定期的に新しいブログを投稿することが、Google SEO ランキングを上げるための優れた方法であることはわかっています。 そのため、ウェブサイトの所有者は、過去 7 日間ブログに新しい記事を投稿していない場合に、Slack チャネルに通知を送信する Slack 用のアプリに関心を持っている可能性があります。 これらのリマインダーは、記事やブログをより適切に管理し、時間通りに公開するように促すのに役立つことを願っています.

この記事では、自分で作成できるアプリを使用して Slack 通知を WordPress ブログに統合する方法を紹介します。

はじめに – Slack アプリケーションを作成する

開始するには、まず Slack アカウント内にアプリケーションを作成する必要があります。 これを行うには、 Slack APIページに移動し、[Create New App] ボタンをクリックします。

これにより、ポップアップ ウィンドウが作成されます。 要求された詳細を入力すると、「設定ページ」にリダイレクトされます。 この設定ページで、左側のセクションから [Incoming Webhooks] をクリックします。 このオプションを「オン」に切り替えます。

一番下までスクロールして、[Request to Add New Webhook] ボタンをクリックします。 管理者でない場合、このオプションにアクセスするには管理者の承認を得る必要があります。

アプリが承認されたら、左側のメニューから [アプリのインストール] をクリックします。 次に、[Install App to Workspace] ボタンを押します。

次のページで目的のチャネルを選択し、[許可] ボタンをクリックします。 次に、Webhook URL を取得するページにリダイレクトされます。 すぐに必要になるので、この URL をコピーします。

WordPress から Slack チャンネルで通知を送信する

Webhook URL を取得し、通知が送信される Slack チャネルも構成したので、続行する準備が整いました。 次に、メッセージとともに POST 要求を webhook URL に送信するコードを記述する必要があります。 この Webhook 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 は、HTTP リクエストを実行してレスポンスを受け取る関数wp_remote_post()を提供します。 このメソッドを使用して、カスタム メッセージを Webhook に送信します。

WordPress プロジェクトのルート ディレクトリにファイルnotification.phpを作成し、以下のコードを追加します。

 <?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,        )    ); }

このコードは、ブログに新しい記事が 5 日以上追加されていない場合、Webhook URL にメッセージを投稿します。 その結果、選択した Slack チャネルで通知を受け取ります。

サーバーにcronを設定する

私たちの目標は、特定の Slack チャネルでこのタスクについてチームに通知する自動システムを作成することです。 このため、WordPress プロジェクトのルート フォルダーに PHP ファイルを作成しました。 サーバーでこのファイルを使用して cron を設定すると、Slack アプリが自動的に実行されるように設定できます。

サーバーでの cron の設定は、ホスティング プロバイダーによって異なる場合があります。 このチュートリアルのために、Media Temple Web ホスティングの CPanel に cron を設定する方法の例を示します。

CPanel にログインします。 「Advanced」セクションで「Cron Jobs」を選択します。

次のページで、[共通設定​​] ドロップダウンから [1 日 1 回 (0 0 * * *)] オプションを選択します。 これは、cron が 1 日に 1 回スクリプトを実行することを意味します。

最後に、コマンド フィールドに、 notification.phpファイル パスを調整して以下のステートメントを追加します。

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

それでおしまい!

このチュートリアルに従うことで、あなたとあなたのチームのために独自の Slack アプリを作成できるようになりました。 これにより、誰もがスケジュールされたブログを最新の状態に保ち、重要な日付を見逃さないようにすることができます.

Slack リマインダー通知を WordPress と統合する方法の投稿は、UpdraftPlus で最初に登場しました。 UpdraftPlus – WordPress のバックアップ、復元、移行プラグイン。