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

概要

wpforms_entry_email_atts フィルタは、WPForms プラグインに関連するメールの属性をカスタマイズするために使用されます。このフィルタは、特定のエントリーが保存された後に送信されるメールの内容やヘッダーを変更する際に頻繁に活用されます。具体的には、以下のような機能を実装する際によく使われます。

  1. メールの送信者名やメールアドレスの変更
  2. メールの件名を動的に変更
  3. メールの返信先アドレスの設定
  4. メールのコンテンツに条件に基づく情報を追加
  5. 添付ファイルの追加
  6. メールのヘッダーをカスタマイズ

構文

フィルタの構文は次の通りです。

add_filter( 'wpforms_entry_email_atts', 'custom_email_atts', 10, 3 );

パラメータ

wpforms_entry_email_atts フィルタは、以下のパラメータを受け取ります。

  1. $atts – メールの属性(配列)。
  2. $form_data – フォームのデータ(配列)。
  3. $entry – エントリーの情報(オブジェクト)。

戻り値

このフィルタは、変更されたメールの属性を含む配列を戻り値として返します。

使用可能なバージョン

  • 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_entry_email_atts', 'custom_sender_email', 10, 3 );

function custom_sender_email( $atts, $form_data, $entry ) {
    $atts['from'] = 'custom@example.com';
    return $atts;
}

このサンプルコードは、送信者のメールアドレスを特定のアドレスに変更します。

サンプルコード2

add_filter( 'wpforms_entry_email_atts', 'custom_email_subject', 10, 3 );

function custom_email_subject( $atts, $form_data, $entry ) {
    $atts['subject'] = 'New Entry: ' . $form_data['title'];
    return $atts;
}

このサンプルコードは、メールの件名をフォームタイトルに基づいて動的に変更します。

サンプルコード3

add_filter( 'wpforms_entry_email_atts', 'add_reply_to_email', 10, 3 );

function add_reply_to_email( $atts, $form_data, $entry ) {
    $atts['reply_to'] = 'replyto@example.com';
    return $atts;
}

このサンプルコードは、メールに返信先アドレスを追加します。

サンプルコード4

add_filter( 'wpforms_entry_email_atts', 'custom_headers', 10, 3 );

function custom_headers( $atts, $form_data, $entry ) {
    $atts['headers'] = array( 'X-Custom-Header: Value' );
    return $atts;
}

このサンプルコードは、カスタムヘッダーをメールに追加します。

サンプルコード5

add_filter( 'wpforms_entry_email_atts', 'attach_file_to_email', 10, 3 );

function attach_file_to_email( $atts, $form_data, $entry ) {
    $atts['attachments'] = array( '/path/to/file.txt' );
    return $atts;
}

このサンプルコードは、特定のファイルをメールに添付します。

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


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