概要
wpcf7_special_mail_tags
フィルタは、Contact Form 7プラグインで特別なメールタグの値を生成する際に使用されます。このフィルタを使用することで、ユーザーが送信したフォームデータに基づいてカスタムのメールタグを作成することができます。例えば、フォームの入力内容を加工して送信するメールに反映させたり、追加情報を動的に挿入したりすることができます。
このフィルタは、特別なメールタグの値を生成する際によく使われる機能として次の6つがあります:
- ユーザーのIPアドレスを含める
- フォーム送信日を指定する
- 特定のユーザー情報(例えば、ユーザー名など)を含める
- フォームの送信結果をカスタマイズする
- フォームのリファラを取得して利用する
- 自動応答メールにカスタムメッセージを追加する
構文
add_filter( 'wpcf7_special_mail_tags', 'your_custom_function', 10, 2 );
パラメータ
$value
: 現在のメールタグの値$type
: メールタグのタイプ(タブ名)
戻り値
- カスタムのメールタグの値(文字列)
使用可能なバージョン
- Contact Form 7: 5.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: IPアドレスを追加する
このサンプルコードは、送信者のIPアドレスをメール本文に追加するためのものです。
add_filter('wpcf7_special_mail_tags', 'add_sender_ip_address', 10, 2);
function add_sender_ip_address($value, $tag) {
if ($tag == 'sender_ip') {
return $_SERVER['REMOTE_ADDR'];
}
return $value;
}
引用元: https://contactform7.com/
サンプル2: 日付を挿入する
このサンプルでは、フォーム送信の日付をメールに追加します。
add_filter('wpcf7_special_mail_tags', 'add_submission_date', 10, 2);
function add_submission_date($value, $tag) {
if ($tag == 'submission_date') {
return date('Y-m-d H:i:s');
}
return $value;
}
引用元: https://contactform7.com/
サンプル3: ユーザー名を挿入する
このサンプルコードは、フォーム送信者のユーザー名をメール本文に追加するものです。
add_filter('wpcf7_special_mail_tags', 'add_username', 10, 2);
function add_username($value, $tag) {
if ($tag == 'username') {
return wp_get_current_user()->user_login;
}
return $value;
}
引用元: https://contactform7.com/
サンプル4: リファラを取得する
このコードは、フォーム送信時のリファラURLを取得してメールに追加します。
add_filter('wpcf7_special_mail_tags', 'add_referrer_url', 10, 2);
function add_referrer_url($value, $tag) {
if ($tag == 'referrer') {
return isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
}
return $value;
}
引用元: https://contactform7.com/
サンプル5: カスタムメッセージを追加する
こちらのサンプルでは、特定の条件に基づいてカスタムメッセージをメールに挿入します。
add_filter('wpcf7_special_mail_tags', 'add_custom_message', 10, 2);
function add_custom_message($value, $tag) {
if ($tag == 'custom_message') {
return 'このメッセージはカスタムタグから送信されています。';
}
return $value;
}
引用元: https://contactform7.com/