2026年9月5日
2026年9月5日
WordPressのSlackボットをWordPressと連携する方法
はじめに
この記事では、WordPressサイトとSlackの連携について説明します。特に、WordPressのイベントやアクションに対して自動的に通知を送信するためのSlackボットの設定方法を紹介します。これにより、重要な更新情報やエラーログを即座に確認できるようになり、サイトの管理が効率化されます。
症状・背景
- WordPressサイトの管理者として複数のサイトを管理している
- 特定のイベント(投稿作成、コメント追加など)に対してリアルタイム通知を受け取りたい
- エラーログやシステムメッセージをSlack経由で共有したい
- 自動化タスクのステータス更新をチーム全体に通知する必要がある
手順・設定方法
ステップ1: Slackアプリケーションの作成
# Slackウェブサイトから新しいアプリを作成します。
https://api.slack.com/apps
# アプリ情報を追加し、必要に応じてOAuthトークンを生成します。
ステップ2: WordPressプラグインのインストールと設定
# WordPress管理画面で「プラグイン」->「新規追加」を開きます。
/wp-admin/plugins.php?page=add-new-plugin
# 「Slack Notifications for WordPress」という名前のプラグインを探し、インストールします。
https://wordpress.org/plugins/slack-notifications/
# プラグインを有効にし、「設定」->「Slack通知」を開きます。
/wp-admin/admin.php?page=slack_notifications
# SlackアプリケーションのOAuthトークンをコピーして、プラグインの設定ページに入力します。
ステップ3: WordPressアクションに対するWebhookの作成
# イベントをトリガーするURLを作成します。例えば、新規投稿作成時:
https://your-wordpress-site.com/wp-json/webhooks/v1/hooks/new-post-created
# 以下のコマンドで新しいWebhookを登録します。
wp webhooks create --name="New Post Created" --action="publish_post" --url="https://slack-webhook-url"
# 同様に、コメント追加時のWebhookも作成します:
wp webhooks create --name="New Comment Added" --action="comment_post" --url="https://slack-webhook-url"
ステップ4: カスタムスクリプトを使用してSlack通知を送信
# PHPスクリプトを作成し、特定の条件下でSlackにPOSTリクエストを送ります。
php
<?php
$webhook_url = "https://slack-webhook-url";
$data = array("text" => "新しい投稿が作成されました。");
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($webhook_url, false, $context);
注意事項
- セキュリティ: SlackのOAuthトークンを適切に保護し、プラグインやスクリプトが意図した通りに動作するように確認してください。
- パフォーマンス: 過度な通知はSlackチャネルを混乱させる可能性があります。必要最小限の通知設定を行ってください。
- 運用上の注意: WebhookのURLやAPIトークンが外部公開されないように、適切なアクセス制御を実装してください。
まとめ
1. OAuthトークンの生成: SlackアプリケーションでOAuthトークンを取得します。
2. プラグインの設定: WordPressにSlack通知プラグインをインストールし、設定を行います。
3. Webhookの登録: 特定のWordPressアクションに対してSlackへのリクエストを送るためのWebhookを作成します。
4. カスタムスクリプトの作成: 必要に応じて、カスタムPHPスクリプトを使用して通知を送信することができます。
5. セキュリティとパフォーマンス: 安全で効率的な設定を行うことを忘れないでください。
関連記事: