概要
wp_mailフィルタは、WordPressでメールを送信する際に、メールのヘッダーやコンテンツをカスタマイズするために使用されます。このフィルタは、以下のような機能を実装する際によく使われます。
- メールの件名の変更
- メールの送信先アドレスのフィルタリング
- メールの本文のカスタマイズ
- メールのヘッダーの追加または変更
- スパムフィルタリングの実装
- ユーザー通知メールのテンプレートの変更
- フォームから送信されるメールの内容の調整
- デバッグ情報の追加
構文
add_filter('wp_mail', 'your_custom_function');
パラメータ
$atts(array): メール関連の情報を含む配列to: 受信者のメールアドレスsubject: メールの件名message: メールの本文headers: メールヘッダー (オプション)attachments: 添付ファイルのパス (オプション)
戻り値
- (array): 修正されたメール送信に関する配列
関連する関数
使用可能なバージョン
- すべてのバージョン
コアファイルのパス
wp-includes/pluggable.php
この関数のアクションでの使用可能性
| アクション | 使用例 |
|---|---|
| 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('wp_mail', function($atts) {
$atts['subject'] = 'カスタム件名';
return $atts;
});
このサンプルコードは、送信されるメールの件名を「カスタム件名」に変更します。
サンプル2: 受信者のアドレスを変更
add_filter('wp_mail', function($atts) {
$atts['to'] = 'new-email@example.com';
return $atts;
});
このコードは、元の受信者アドレスを「new-email@example.com」に変更します。
サンプル3: メール本文にテキストを追加
add_filter('wp_mail', function($atts) {
$atts['message'] .= "nnこのメールはカスタマイズされています。";
return $atts;
});
このサンプルコードは、メール本文の最後にカスタムメッセージを追加します。
サンプル4: ヘッダー情報を追加
add_filter('wp_mail', function($atts) {
$atts['headers'] = 'From: Custom Sender <sender@example.com>';
return $atts;
});
このコードは、メールの送信者情報をカスタムヘッダーとして追加します。
サンプル5: 添付ファイルを追加
add_filter('wp_mail', function($atts) {
$atts['attachments'] = array('/path/to/your/file.pdf');
return $atts;
});
このサンプルコードでは、指定されたファイルをメールに添付します。