WordPressでFAQ更新時に通知機能を実装する方法と活用例

こんな人におすすめ:

  • WordPressサイトのFAQ管理者や編集担当者
  • 更新情報をチームにリアルタイムで共有したいWeb運営者
  • Slackなど外部ツールへの自動通知を検討している開発者

プロンプト例:

「WordPressのFAQが更新された際に、Slackに自動で通知を送る機能をPHPで実装する方法を教えてください。Smart Custom Fieldsで管理しているFAQの内容変更をトリガーにしたいです。」

プロンプト例の出力結果:

WordPressのFAQをSmart Custom Fieldsプラグインで管理している場合、FAQのカスタムフィールドが更新されたタイミングで通知を送るには、save_postアクションフックを利用します。FAQ投稿タイプの更新を検知し、その内容をSlackのIncoming Webhookに送信するPHPコード例は以下の通りです。

add_action('save_post_faq', function($post_id) {
  if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;

  // FAQ内容を取得(例としてSmart Custom Fieldsのget関数を使用)
  $faq_items = SCF::get('faq_group', $post_id);

  // 通知メッセージの生成
  $message = "FAQが更新されました:\n";
  foreach ($faq_items as $item) {
    $message .= "Q: " . $item['question'] . "\nA: " . $item['answer'] . "\n";
  }

  // Slack Webhook URL
  $webhook_url = 'https://hooks.slack.com/services/XXXXX/XXXXX/XXXXX';

  // Slack通知用のPOSTデータ
  $payload = json_encode(['text' => $message]);

  // Slackへ通知送信
  wp_remote_post($webhook_url, [
    'body' => $payload,
    'headers' => ['Content-Type' => 'application/json'],
  ]);
});

このコードはWordPressの保存時フックを利用し、FAQの質問・回答をまとめてSlackに送信します。Slack側ではIncoming Webhookの設定が必須です。この方法でFAQの更新があった際にリアルタイムで通知を受けられ、チーム内での情報共有が円滑になります。

また、Contact Form 7などのフォームプラグインでもSlack通知設定を組み合わせれば、問い合わせ対応の効率化も可能です。複数通知先の設定もWPFormsのようなプラグイン利用で柔軟に行えます。

タイトルとURLをコピーしました