概要
wpcf7_mail_html_header
フィルタは、Contact Form 7プラグインで送信されるメールのHTMLヘッダーをカスタマイズするために使用されます。このフィルタを利用することで、メールの見た目や送信先の情報を調整したり、特定の条件に基づいたヘッダー情報を追加することができます。たとえば、HTMLメールのヘッダーを加工することで、次のような機能を実装する際によく使われます。
- カスタムCSSスタイルをインラインで追加する
- 送信者名やメールアドレスを動的に変更する
- 複数の受信者を指定する
- メール本文にトラッキングコードを追加する
- メールヘッダーに特定のメタ情報を追加する
- 特定の条件(例えば、特定のフォームの送信時)でのみヘッダーを変更する
構文
add_filter('wpcf7_mail_html_header', 'your_custom_function', 10, 1);
パラメータ
$header
: 現在のメールのHTMLヘッダー。
戻り値
- 変更されたHTMLヘッダーを返す。
使用可能なバージョン
- Contact Form 7: 5.0以降
- WordPress: 4.0以降
サンプルコード
サンプル 1: カスタムCSSスタイルの追加
add_filter('wpcf7_mail_html_header', function($header) {
$header .= '<style>body { font-family: Arial, sans-serif; }</style>';
return $header;
});
このサンプルコードは、メールのHTMLヘッダーにカスタムCSSスタイルを追加します。これにより、メールの本文にスタイルを適用できます。
サンプル 2: 送信者のメールアドレスを動的に変更
add_filter('wpcf7_mail_html_header', function($header) {
$email_from = 'custom@example.com';
$header .= 'From: ' . $email_from . "rn";
return $header;
});
このコードは、メールの送信者メールアドレスを動的に変更するためのものです。特定の条件に基づいてカスタムの送信者アドレスを設定できます。
サンプル 3: 特定フォームの場合のみヘッダーを変更
add_filter('wpcf7_mail_html_header', function($header, $contact_form) {
$id = $contact_form->id();
if ($id == 123) { // フォームIDが123の場合
$header .= 'X-Custom-Header: My Value' . "rn";
}
return $header;
}, 10, 2);
このサンプルコードは、特定のフォーム(IDが123)の送信時のみ、ヘッダーにカスタムヘッダーを追加します。
サンプル 4: トラッキングコードの追加
add_filter('wpcf7_mail_html_header', function($header) {
$tracking_code = '<script src="https://example.com/tracking.js"></script>';
$header .= $tracking_code;
return $header;
});
このコードは、メールのHTMLヘッダーにトラッキングコードを追加します。メール送信後のリクエストを追跡可能にします。
サンプル 5: HTMLヘッダーにメタ情報を追加
add_filter('wpcf7_mail_html_header', function($header) {
$header .= 'X-Mailer: PHP/' . phpversion() . "rn";
return $header;
});
このサンプルは、メールのHTMLヘッダーにメタ情報(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 |
このフィルタは、主にメール送信の過程で使用されるものであり、他のアクションでは通常使用されません。