概要
wpcf7_form_hidden_fields
フィルタは、WordPressのContact Form 7プラグインにおいて、フォームに <input type="hidden">
要素を加えるために使用されます。このフィルタを使用することで、ユーザーが表示されない情報をフォームに含めることができ、さまざまな用途に活用できます。
よく使われる機能の例
- ユーザーのIDやセッション情報の保存
- フォーム送信のトラッキング用コードの追加
- 特定の条件に基づく情報の送信
- カスタムフィールドの情報を追加
- 管理者のための内部用途向けデータの送信
- フォームのバージョン管理情報の追加
構文
add_filter('wpcf7_form_hidden_fields', 'your_custom_function');
function your_custom_function($hidden_fields) {
// 設定処理
return $hidden_fields;
}
パラメータ
$hidden_fields
: 既存の隠しフィールドの配列。
戻り値
- フィルタされた隠しフィールドの配列。
プラグインのバージョン
Contact Form 7バージョン 5.0以降。
WordPressのバージョン
WordPress 4.0以降。
サンプルコード
サンプル1: ユーザーIDを保存する
add_filter('wpcf7_form_hidden_fields', 'add_user_id_hidden_field');
function add_user_id_hidden_field($hidden_fields) {
$hidden_fields['user_id'] = get_current_user_id();
return $hidden_fields;
}
このサンプルでは、現在のユーザーのIDを隠しフィールドに追加し、フォーム送信にその情報を含めます。
サンプル2: カスタムトラッキングコードの追加
add_filter('wpcf7_form_hidden_fields', 'add_tracking_code');
function add_tracking_code($hidden_fields) {
$hidden_fields['tracking_code'] = 'ABC123XYZ';
return $hidden_fields;
}
このサンプルは、特定のトラッキングコードを隠しフィールドに追加します。これにより、フォーム送信時にこのコードを追跡できます。
サンプル3: ブログ投稿IDの追加
add_filter('wpcf7_form_hidden_fields', 'add_post_id_field');
function add_post_id_field($hidden_fields) {
if (is_single()) {
$hidden_fields['post_id'] = get_the_ID();
}
return $hidden_fields;
}
このサンプルでは、現在表示中のブログ投稿のIDを隠しフィールドに追加します。これにより、どの投稿から送信されたかを特定できます。
サンプル4: フォームバージョンを追加
add_filter('wpcf7_form_hidden_fields', 'add_form_version');
function add_form_version($hidden_fields) {
$hidden_fields['form_version'] = '1.0';
return $hidden_fields;
}
このサンプルは、フォームのバージョン情報を追加します。これにより、フォームがどのバージョンで送信されたかを管理できます。
サンプル5: 環境情報を保存する
add_filter('wpcf7_form_hidden_fields', 'add_environment_info');
function add_environment_info($hidden_fields) {
$hidden_fields['environment'] = 'production';
return $hidden_fields;
}
このサンプルでは、実行環境(例えば、productionやstagingなど)に関する情報を隠しフィールドに追加します。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |