概要
wpforms_entry_email_atts
フィルタは、WPForms プラグインに関連するメールの属性をカスタマイズするために使用されます。このフィルタは、特定のエントリーが保存された後に送信されるメールの内容やヘッダーを変更する際に頻繁に活用されます。具体的には、以下のような機能を実装する際によく使われます。
- メールの送信者名やメールアドレスの変更
- メールの件名を動的に変更
- メールの返信先アドレスの設定
- メールのコンテンツに条件に基づく情報を追加
- 添付ファイルの追加
- メールのヘッダーをカスタマイズ
構文
フィルタの構文は次の通りです。
add_filter( 'wpforms_entry_email_atts', 'custom_email_atts', 10, 3 );
パラメータ
wpforms_entry_email_atts
フィルタは、以下のパラメータを受け取ります。
$atts
– メールの属性(配列)。$form_data
– フォームのデータ(配列)。$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;
}
このサンプルコードは、特定のファイルをメールに添付します。