ご注意!

この記事には PHP コードが含まれており、開発者を対象としています。このコードは便宜上提供していますが、コードのカスタマイズやサードパーティの開発についてはサポートを提供していません。

追加のガイダンスについては、WPBeginner の カスタムコードの追加方法に関するチュートリアル を参照してください。

閉じる

数量フィールドの値をAPIプロバイダーに渡す方法

はじめに

サードパーティの連携サービスで、数量が有効になっている決済フィールドの値にアクセスしたいですか?カスタムコードスニペットを使用すると、スマートタグを非表示フィールドで使用できるようになります。その後、スマートタグを使用して、決済フィールドの値を非表示フィールドに追加します。

このチュートリアルでは、このスニペットをサイトに追加する手順を説明し、フォームでスマートタグを使用する方法を示します。

決済フォームの作成

まず、新しいフォームを作成するか、既存のフォームを編集してフォームビルダーにアクセスする必要があります。フォームビルダーで、フォームに非表示フィールドを追加してください。

フォームビルダーに非表示フィールドを追加する

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に置き換えてください。

非表示フィールドのデフォルト値を入力

非表示フィールドをマーケティング連携にマッピングする

非表示フィールドのデフォルト値を設定した後、マーケティング連携を使用する際にカスタムフィールドとしてマッピングできるようになります。

非表示フィールドをAPIプロバイダーに数量フィールド値を渡すようにマッピングする

完了すると、マーケティング連携のアカウントダッシュボードで決済フィールドの値にアクセスできるようになります。これには、ユーザーが選択した支払い額と数量が含まれます。

WPFormsとサードパーティツールを連携する方法については、WPFormsマーケティング連携の完全ガイドをご確認ください。

これで完了です!WPFormsで数量フィールドの値をAPIプロバイダーに渡す方法がわかりました。

WPFormsで独自のカスタムスマートタグを作成する方法も知りたいですか?詳細については、カスタムスマートタグの作成方法のチュートリアルをご覧ください。

フィルター参照: