AI要約
はじめに
WPFormsの価格フィールドに最小金額を設定しますか?簡単なPHPスニペットを使用すると、ユーザー定義の単一項目価格フィールドに最小金額を簡単に設定できます。このチュートリアルでは、これを達成する方法をステップごとに説明します。
フォームの作成
まず、フォームを作成し、フォームに単一項目価格フィールドを追加する必要があります。フィールドを追加したら、アイテムタイプがユーザー定義に設定されていることを確認してください。
単一項目フィールドを含むフォームの設定についてサポートが必要な場合は、こちらの記事をご覧ください。

CSSクラスの追加
次に、このフィールドにCSSクラスを追加して、必要な最小金額を確認するスニペットをトリガーするようにします。
フォームフィールドにCSSクラス名を追加するには、単一項目フィールドを選択し、高度な設定タブをクリックします。CSSクラスにset-minimumと入力して、フォームを保存します。

最小金額を設定するスニペットの追加
この最終ステップでは、スニペットをサイトに追加する必要があります。スニペットをサイトに追加する方法についてサポートが必要な場合は、こちらのチュートリアルをご覧ください。
/**
* Set a minimum amount price field.
*
* @link https://wpforms.com/developers/how-to-set-minimum-amount-for-a-price-field/
*/
function wpf_set_minimum_amount_input( $field_id, $field_submit, $form_data ) {
// This snippet will run for all forms
$form_id = $form_data[ 'id' ];
// And it will run for all fields with the CSS class of set-minimum
$fields = $form_data[ 'fields' ];
// Define your minimum amount here.
$minimum_amount = 5;
// Check if field has custom CSS class configured
if ( !empty( $fields[ $field_id ][ 'css' ] ) ) {
$classes = explode( ' ', $fields[$field_id][ 'css' ] );
if ( in_array( 'set-minimum', $classes ) ) {
if ( $minimum_amount > (float) wpforms_sanitize_amount( $field_submit ) ) {
wpforms()->process->errors[ $form_id ][ $field_id ] = __( 'Minimum amount is $' . $minimum_amount . '.', 'plugin-domain' );
return;
}
}
}
}
add_action( 'wpforms_process_validate_payment-single', 'wpf_set_minimum_amount_input', 10, 3 );
このスニペットはすべてのフォームで自動的に実行されますが、CSSクラス名set-minimumを持つフィールドでのみ実行されます。入力された金額が最小値に満たない場合、フォーム送信時にエラーが発生します。

これで完了です!メール通知からこの金額を非表示にする方法を知りたいですか?メール通知でアイテム価格を非表示にする方法のチュートリアルをご覧ください。
よくある質問
Q: なぜ私のサイトで機能しないのですか?
A: このエラーがフォームの送信を停止しない場合は、CSSクラス名が正しいフィールドに入力されていることを再確認してください。

Q: 最大金額を設定するにはどうすればよいですか?
A: 同様のスニペットを使用して最大金額を設定するには、まず前のステップで行ったのと同じ方法で、CSSクラス名をset-maximumに更新する必要があります。
次に、このスニペットをサイトに追加するだけです。
/**
* Set a maximum amount price field.
*
* @link https://wpforms.com/developers/how-to-set-minimum-amount-for-a-price-field/
*/
function wpf_set_maximum_amount_input( $field_id, $field_submit, $form_data ) {
// This snippet will run for all forms
$form_id = $form_data[ 'id' ];
// And it will run for all fields with the CSS class of set-minimum
$fields = $form_data[ 'fields' ];
// Define your minimum amount here.
$maximum_amount = 5000;
// Check if field has custom CSS class configured
if ( !empty( $fields[ $field_id ][ 'css' ] ) ) {
$classes = explode( ' ', $fields[ $field_id ][ 'css' ] );
if ( in_array( 'set-maximum', $classes ) ) {
if ( $maximum_amount < (float) wpforms_sanitize_amount( $field_submit ) ) {
wpforms()->process->errors[ $form_id ][ $field_id ] = __( 'Maximum amount is $' . $maximum_amount . '.', 'plugin-domain' );
return;
}
}
}
}
add_action( 'wpforms_process_validate_payment-single', 'wpf_set_maximum_amount_input', 10, 3 );