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 であるフィールドに対してのみ実行されます。 入力された金額が最小値を満たさない場合、フォームが送信されたときにエラーが発生します。

必要なのはこれだけです!この金額をメール通知から非表示にする方法を知りたいですか?チュートリアル「Eメール通知で商品価格を非表示にする方法」をご覧ください。
よくあるご質問
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 );