「mw wp form」プラグインで問い合わせがあった場合にSlackに通知する方法を以下に説明します。この方法では、Incoming WebhooksというSlackの機能を使用して通知を行います。
- SlackのIncoming Webhookを設定する
まず、SlackでIncoming Webhookを設定して、外部からメッセージを送信できるようにします。
a. Slackのアプリディレクトリで、「Incoming Webhooks」を検索してください。 b. 「Incoming Webhooks」アプリのページで「Add to Slack」をクリックして、Webhookを設定するチャンネルを選択してください。 c. 設定が完了すると、「Webhook URL」が表示されます。このURLをコピーしておいてください。
- WordPressに必要なプラグインをインストールする
a. WordPressの管理画面から、プラグイン「Code Snippets」をインストールして有効化してください。これにより、独自のPHPコードを追加することができます。
- Code Snippetsを使ってSlackに通知するコードを追加する
a. WordPressの管理画面から、「Code Snippets」を開き、「Add New」をクリックして新しいスニペットを作成します。 b. タイトルに「MW WP Form Slack Integration」と入力し、コード欄に以下のPHPコードを貼り付けてください。このコードは、フォーム送信時にSlackに通知を行います。
phpfunction send_to_slack_on_form_submission( $data, $view_flg, $error_message ) {
// SlackのWebhook URLを指定してください
$webhook_url = 'YOUR_SLACK_WEBHOOK_URL';
// 送信するメッセージを組み立てます
$message = "新しい問い合わせがありました。\n";
foreach ( $data as $key => $value ) {
$message .= $key . ': ' . $value . "\n";
}
// Slackに送信するデータを設定します
$payload = array(
'text' => $message
);
// Slackにメッセージを送信します
$ch = curl_init( $webhook_url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'POST' );
curl_setopt( $ch, CURLOPT_POSTFIELDS, array( 'payload' => json_encode( $payload ) ) );
curl_exec( $ch );
curl_close( $ch );
}
add_action( 'mwform_after_send_admin_mail_mw-wp-form-XXXX', 'send_to_slack_on_form_submission', 10, 3 );
c. 「YOUR_SLACK_WEBHOOK_URL」を、手順1で取得したWebhook URLに置き換えてください。
d. 「mwform_after_send_admin_mail_mw-wp-form-XXXX」の「XXXX」を、対象のフォームのIDに置き換えてください。例えば、
例えば、対象のフォームのIDが「1234」の場合、以下のように変更します。
phpadd_action( 'mwform_after_send_admin_mail_mw-wp-form-1234', 'send_to_slack_on_form_submission', 10, 3 );
- スニペットを保存して有効化する
a. 「Save Changes and Activate」ボタンをクリックして、スニペットを保存し有効化してください。
これで設定は完了です。対象のフォームが送信されると、指定したSlackチャンネルに通知が届くようになります。テスト送信を行い、正常に通知が届くことを確認してください。通知が届かない場合は、Webhook URLやフォームIDが正しく設定されているかを確認してください。