はじめに
サードパーティの統合サービスで、数量を有効にした支払いフィールドの値にアクセスしたいですか?カスタムコードスニペットを使用すると、スマートタグを隠しフィールドで使用できるようになります。その後、スマートタグを使用して、支払いフィールドの値を隠しフィールドに追加します。
このチュートリアルでは、このスニペットをサイトに追加する手順を説明し、フォームでスマートタグを使用する方法を紹介します。
支払いフォームの作成
まず、新規フォームを作成するか、既存のフォームを編集してフォームビルダーにアクセスします。フォームビルダーで、隠しフィールドをフォームに追加してください。

WPFormsで数量選択を有効にする方法については、チュートリアルをご覧ください。
スニペットの追加
支払いフォームを作成し、数量を選択できるようにしたら、以下のスニペットをサイトに追加してください。WordPressでスニペットを追加する際にヘルプが必要な場合は、こちらのドキュメントをご覧ください。
/**
* Make all Smart Tags workable for the Hidden field
*
* @link https://wpforms.com/developers/how-to-pass-quantity-field-value-to-api-providers/
*/
add_filter( 'wpforms_process_filter', static function( $fields, $entry, $form_data ) {
// payment form ID
$form_id = 1334;
// ID of a hidden field where you'll place a smart tag as the default value, e.g. {field_id="#"} or {field_html_id="#"}.
$hidden_field_id = 4;
if (
empty( $form_data['id'] ) ||
( (int) $form_data['id'] !== $form_id ) ||
empty( $form_data['fields'][ $hidden_field_id ]['default_value'] )
) {
return $fields;
}
// Go magic!
$fields[ $hidden_field_id ]['value'] = wpforms_process_smart_tags( $form_data['fields'][ $hidden_field_id ]['default_value'], $form_data, $fields );
return $fields;
}, 10, 3 );
上記のコード・スニペットは、WPFormsのスマートタグを隠しフィールドで使用できるようにします。必ず $form_id
を、使用するフォームのIDに置き換えてください。また $hidden_field_id
値をフォームの隠しフィールドの ID で指定します。
WPFormsでフォームIDとフィールドIDを取得する詳細については、チュートリアルを参照してください。
隠しフィールドでスマートタグを使う
スニペットをサイトに追加した後、フォームビルダーに戻り、隠しフィールドを選択してフィールドオプションパネルを開きます。次に詳細設定タブに移動します。

その後、以下のスマートタグのいずれかをフィールドのデフォルト値として使用できます:
{field_html_id="#"}
HTML フォーマットの値 (価格 x 数量) を返します。{field_id="#|quantity"}
数量値のみを返す
必ず交換してください。 #
を、数量選択を有効にしたフォームの支払いフィールドのIDでスマートタグに追加します。

隠れた分野からマーケティング統合へのマッピング
隠しフィールドのデフォルト値を設定した後、当社のマーケティング統合機能を使用する際にカスタムフィールドとしてマッピングすることができます。

完了すると、マーケティング統合のアカウントダッシュボードで支払いフィールドの値にアクセスできるようになります。ユーザーによって選択された支払額と数量が含まれます。
WPFormsとサードパーティツールの統合についての詳細は、WPFormsマーケティング統合の完全ガイドをご覧ください。
以上です!これでWPFormsでAPIプロバイダにQuantityフィールドの値を渡す方法がわかりました。
WPFormsで独自のカスタムスマートタグを作成する方法も知りたいですか?詳しくはカスタムスマートタグの作成方法のチュートリアルをご覧ください。
関連
フィルター参照: