プラグインWPFormsのwpforms_emails_notifications_messageフィルタの使用方法・解説

概要

wpforms_emails_notifications_message フィルタは、WPFormsプラグインで送信される通知メールのメッセージをカスタマイズするために使用されます。このフィルタを使用することで、ライブ通知の内容を動的に変更したり、特定の条件に応じてメールの内容を変更することが可能です。よく使われるシナリオは以下の通りです。

  1. メール通知の内容をユーザー情報に基づいてカスタマイズする。
  2. フォームの特定のフィールドの値をメッセージに追加する。
  3. 日時や状況に応じたカスタムメッセージを挿入する。
  4. 管理者向けの特別な情報を含める。
  5. メール宛先を変更する場合にメッセージを調整する。
  6. 条件付きのロジックに基づいて内容を変化させる。

構文

add_filter('wpforms_emails_notifications_message', 'your_custom_function', 10, 4);

パラメータ

  • $message (string): 変更されるメッセージの内容。
  • $form_data (array): フォームデータ。
  • $form_id (int): フォームのID。
  • $fields (array): フィールドデータ。

戻り値

  • (string): 変更後のメッセージ。

対応バージョン

  • WPForms: 1.0以上
  • WordPress: 4.0以上

この関数のアクションでの使用可能性

アクション 使用例
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプル1: ユーザーの名前をメールに追加

add_filter('wpforms_emails_notifications_message', function($message, $form_data, $form_id, $fields) {
    if (!empty($fields['your_name'])) {
        $message .= "nn名前: " . $fields['your_name']['value'];
    }
    return $message;
});

このコードは、フォームの your_name フィールドに入力された名前を通知メールに追加します。

出典: https://wpforms.com/docs

サンプル2: フィールドの条件に基づくメッセージ変更

add_filter('wpforms_emails_notifications_message', function($message, $form_data, $form_id, $fields) {
    if (!empty($fields['location']) && $fields['location']['value'] === 'Tokyo') {
        $message .= "nnお住まいは東京ですね!";
    }
    return $message;
});

このコードは、ユーザーが「Tokyo」と入力した場合に特定のメッセージをメールに追加します。

出典: https://wpforms.com/docs

サンプル3: 日付を含める

add_filter('wpforms_emails_notifications_message', function($message, $form_data, $form_id, $fields) {
    $message .= "nn送信日時: " . date('Y-m-d H:i:s');
    return $message;
});

このコードは、通知メールに送信日時を追加します。

出典: https://wpforms.com/docs

サンプル4: 特別な管理者メッセージ

add_filter('wpforms_emails_notifications_message', function($message, $form_data, $form_id, $fields) {
    if (is_admin()) {
        $message .= "nn注意: 管理者による送信です。";
    }
    return $message;
});

このコードは、管理画面から送信されたときに特別なメッセージを追加します。

出典: https://wpforms.com/docs

サンプル5: リダイレクト後にメッセージを変更

add_filter('wpforms_emails_notifications_message', function($message, $form_data, $form_id, $fields) {
    if (isset($_GET['redirect'])) {
        $message .= "nnリダイレクト先: " . esc_html($_GET['redirect']);
    }
    return $message;
});

このコードは、特定のリダイレクトパラメータに基づいてメッセージを調整します。

出典: https://wpforms.com/docs

この関数について質問する


上の計算式の答えを入力してください