WordPress記事の公開・レビュー時にSlack通知してくれる「Slack Notifications」プラグインの使い方


2022年 04月 01日

WordPressの記事公開をメンバーにSlack通知を飛ばしたい!
そんな時にとーっても便利なプラグインをご紹介します。
2年前に更新が止まっているプラグインですが、バージョン5.9のWordpressでもバリバリ動いてくれます!
インストールしてサクッと設定するだけで便利な通知が可能になります!

はじめに

実現できること

実現できることはいたってシンプル!単純明快!

ユーザーが記事を公開・レビュー送信すると、「Slack Notifications」で設定した「指定されたイベント」を「指定されたタイミング」で通知先チャンネルに通知投稿します。

これによってチャンネルメンバーがWordpressの更新情報を追えますし、チャンネルの活性化の一助にもなりえます。
細かい通知指定も設定可能なので、是非参考にしてみてください!

必要な情報

  • WebhookURL
  • 通知先チャンネル名
  • 通知botの画像

これだけで十分です!

設定する

20220401-1.png
↑こちらのプラグイン「Slack Notifications」をWordpressのプラグインメニューから検索してみてください。
(プラグインのインストールと有効化方法は割愛)

ここからは以下2種類の設定を進めていきます。

  1. General(基本設定)
  2. Notification(通知設定)

General(基本設定)

プラグインをインストールし有効化すると、管理メニューに「Slack Notifications」が表示されます。
そちらをクリックし設定画面へ移動します。

20220401-2

ここでは通知を飛ばすための基本設定を行なっていきます。

  • Webhook URL
    Slackと連携するために必要なWebhook URLを入力
  • Default Channel
    通知を投稿する宛先チャンネル
  • Bot Name
    通知botの名前
  • Bot Image
    通知Botの画像
20220401-3

この3つだけでOKです!
これによってSlackとWordpressの連携部分の設定が完了です。

設定が完了したらテストしてみましょう。
「Run Test」と書かれているボタンをクリックすると、上記で設定した通知先へbotがテスト投稿してくれるはずです。
20220401-4
(ハワイアンピザが大好きです。それと時刻がブラックな時間に見えますが早起きなだけです!)

「設定を保存」し、続いて具体的な通知の設定をすすめましょう!

Notification(通知設定)

通知設定では「何を」「いつ」「どこに」通知するのか設定していきます。
「Add New」をクリックして以下の項目を埋めていきましょう!

20220401-5
  • Notification Type(何を)
    • post(投稿)
    • pages(固定ページ)
    • Comment(コメント)など
  • Notification Options(いつ)
    • Published(公開)
    • Scheduled(予約投稿)
    • Pending(レビュー)
    • Updated(更新)
    • Moved to Trash(削除)
  • Channel(どこに)
    • #[Slackのチャンネル名]

通知先チャンネルを分けることも可能なのでとっても便利!

今回はこんな設定にしてみました。
20220401-6

結果はこうなる

無事に設定が完了するとこんな感じで投稿が届きます。
20220401-7

カスタマイズ

しかしちょっと待ってください!このままでは英語です!
なるべく日本語にしたい方はもう少し手を加えましょう!

今回は「公開」と「レビュー」の時に通知されるテキストを変更したいと思います。

Coreをいじる

プラグインの編集はwp-contentの下にあるpluginsからおこないます。
dorzki-notifications-to-slack
core
notifications
class-cpt.php←こいつをいじる

207行目あたりを編集することで「公開」に関する通知テキストを変更できます。
好きなテキストに変えてみましょう!

$message = __( ':tada: *<%2$s|%3$s>* が公開されました!', 'dorzki-notifications-to-slack' );
$message = sprintf( $message, $cpt_obj->labels->singular_name, get_permalink( $cpt->ID ), $cpt->post_title );

$attachments = [
  [
    /* translators: %1$s: CPT Name */
    'title' => sprintf( esc_html__( '投稿者', 'dorzki-notifications-to-slack' ), $cpt_obj->labels->singular_name ),
    'value' => get_the_author_meta( 'display_name', $cpt->post_author ),
    'short' => true,
  ],
  [
    'title' => esc_html__( '公開日', 'dorzki-notifications-to-slack' ),
    'value' => get_the_date( null, $cpt->ID ),
    'short' => true,
  ],
];

324行目あたりを編集することで「レビュー」に関する通知テキストを変更できます。

$message = __( ':mag: *<%2$s|%3$s>* のレビューをお願いします!.', 'dorzki-notifications-to-slack' );
$message = sprintf( $message, $cpt_obj->labels->singular_name, get_permalink( $cpt->ID ), $cpt->post_title );

$attachments = [
  [
    /* translators: %1$s: CPT Name */
    'title' => sprintf( esc_html__( '投稿者', 'dorzki-notifications-to-slack' ), $cpt_obj->labels->singular_name ),
    'value' => get_the_author_meta( 'display_name', $cpt->post_author ),
    'short' => true,
  ],
  [
    'title' => esc_html__( 'レビュー送信日', 'dorzki-notifications-to-slack' ),
    'value' => get_the_date( null, $cpt->ID ),
    'short' => true,
  ],
];

これらを編集することでこのような通知テキストへ変更されました!

20220401-8
20220401-9

まとめ

以上がSlack Notificationsの使い方と設定になります。
必要に応じて自分好みにカスタマイズも行ってみてください。
※もちろんプラグインが更新されるタイミングで書き換える必要があるのでご注意を!

今回は以上となります!
次回はVSCodeのおすすめテーマでも更新してみるつもりです!
それではまたー!