概要
wpcf7_constant_contact_contact_post_request_builder
フィルタは、WordPress プラグイン Contact Form 7 と Constant Contact を連携させる際に使用されます。このフィルタを利用することで、Contact Form 7 で送信されたフォームデータを Constant Contact に適した形式に変換することが可能です。これにより、リードやサブスクリプションなどの情報を簡単に Constant Contact に送信することができ、マーケティング活動に役立ちます。
よく使われる機能
このフィルタは以下のような機能を実装する際によく使われます。
1. フォームデータの前処理
2. エラーハンドリングのカスタマイズ
3. データ転送の形式変更
4. 条件に基づくデータのフィルタリング
5. 追加フィールドの指定
6. API リクエストのカスタマイズ
構文
add_filter('wpcf7_constant_contact_contact_post_request_builder', 'your_custom_function', 10, 2);
パラメータ
$request_builder
: Constant Contact に送信するためのリクエストデータの配列。$contact_data
: Contact Form 7 の送信データ。配列として渡されます。
戻り値
- フィルタによって変更されたリクエストデータの配列。
使用可能なプラグイン・バージョン
- Contact Form 7: 5.4以上
- 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_constant_contact_contact_post_request_builder', 'customize_request_data', 10, 2);
function customize_request_data($request_builder, $contact_data) {
if (!empty($contact_data['your-field-name'])) {
$request_builder['custom_field'] = sanitize_text_field($contact_data['your-field-name']);
}
return $request_builder;
}
このコードは、指定したフィールドのデータをサニタイズし、Constant Contact に送信するリクエストデータに追加します。
サンプルコード 2
add_filter('wpcf7_constant_contact_contact_post_request_builder', 'modify_contact_request', 10, 2);
function modify_contact_request($request_builder, $contact_data) {
$request_builder['email'] = strtolower($contact_data['email']); // 小文字に変換
return $request_builder;
}
このコードは、メールアドレスを小文字に変換し、リクエストデータにセットします。
サンプルコード 3
add_filter('wpcf7_constant_contact_contact_post_request_builder', 'add_custom_headers', 10, 2);
function add_custom_headers($request_builder, $contact_data) {
$request_builder['headers'] = [
'X-Custom-Header' => 'value'
];
return $request_builder;
}
このサンプルは、特定のカスタムヘッダーをリクエストに追加する方法を示しています。
サンプルコード 4
add_filter('wpcf7_constant_contact_contact_post_request_builder', 'filter_request_data', 10, 2);
function filter_request_data($request_builder, $contact_data) {
if (!isset($contact_data['subscribe'])) {
return false; // フィルタリングの条件
}
return $request_builder;
}
このコードは、特定の条件に基づいてリクエストをキャンセルする方法を示しています。
サンプルコード 5
add_filter('wpcf7_constant_contact_contact_post_request_builder', 'change_api_endpoint', 10, 2);
function change_api_endpoint($request_builder, $contact_data) {
$request_builder['api_url'] = 'https://api.custom.url/endpoint'; // コール先のURLを変更
return $request_builder;
}
このコード例では、APIエンドポイントのURLを変更する方法を示します。