概要
wpcf7_flamingo_get_value
フィルタは、Flamingoとの連携で利用するためのフィルタです。このフィルタは、Contact Form 7に送信されたデータをFlamingoプラグインが受け取る際に、そのデータを操作するために使用されます。通常、送信された情報を記録する際に、特定の条件に基づいて値を変更したり、追加情報を付加したりする目的で利用されます。
よく使用されるシナリオの例:
1. データのカスタマイズ – 送信された情報を基に、特定の条件で値を書き換える。
2. フィルタリング – 不要なデータやフィールドを除外する。
3. セキュリティ強化 – 送信データのバリデーションやサニタイズを実施。
4. アクションの追加 – データに追加情報を添えて送信する。
5. 計算項目の追加 – フォームから取得した値を使って計算を行う。
6. 多言語サポート – 言語設定を基に異なる情報を提供。
構文
add_filter('wpcf7_flamingo_get_value', 'custom_function', 10, 2);
custom_function
: フィルタに使う関数名。10
: プライオリティ。デフォルトは10。2
: 関数に渡される引数の数。
パラメータ
$value
: フィルタリング可能な元のデータ。$form
: フォームの情報。
戻り値
フィルタリング後のデータを返す。
プラグインとバージョン
- Contact Form 7 のバージョン: 5.0 以降
- WordPress のバージョン: 5.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('wpcf7_flamingo_get_value', 'change_email_subject', 10, 2);
function change_email_subject($value, $form) {
if ($form->id() === 123) { // 特定のフォームIDをチェック
return 'カスタム件名: ' . $value; // 件名をカスタマイズ
}
return $value;
}
このコードは、特定のフォームIDの場合に送信されるメールの件名を変更します。
サンプルコード2
add_filter('wpcf7_flamingo_get_value', 'sanitize_input', 10, 2);
function sanitize_input($value, $form) {
return sanitize_text_field($value); // 送信データをサニタイズ
}
このコードは、送信されたデータをサニタイズすることで、セキュリティを強化します。
サンプルコード3
add_filter('wpcf7_flamingo_get_value', 'add_custom_data', 10, 2);
function add_custom_data($value, $form) {
$custom_data = '追加データ';
return $value . ' - ' . $custom_data; // データに追加情報を付加
}
このコードは、送信された値に追加データを結合します。
サンプルコード4
add_filter('wpcf7_flamingo_get_value', 'calculate_age', 10, 2);
function calculate_age($value, $form) {
if ($form->id() === 456) { // 特定のフォームIDをチェック
$birth_year = intval($value);
return date("Y") - $birth_year; // 年齢を計算
}
return $value;
}
このコードは、送信された年を基に年齢を計算する処理を実装します。
サンプルコード5
add_filter('wpcf7_flamingo_get_value', 'filter_blacklisted_words', 10, 2);
function filter_blacklisted_words($value, $form) {
$blacklist = array('badword1', 'badword2');
return str_ireplace($blacklist, '[削除]', $value); // 不適切な言葉を置き換え
}
このコードは、送信されたデータに不適切な言葉が含まれている場合、それを置き換えます。