Riassunto AI
Introduzione
Vuoi impostare un importo minimo per un campo prezzo sul tuo WPForms? Utilizzando un piccolo snippet PHP puoi facilmente impostare un importo minimo per il campo prezzo Articolo Singolo che è Definito dall'utente. In questo tutorial, ti guideremo passo dopo passo su come ottenere questo risultato.
Creazione del modulo
Innanzitutto, dovrai creare un modulo e aggiungere un campo prezzo Articolo Singolo al modulo. Una volta aggiunto il campo, assicurati che il Tipo di Articolo sia impostato su Definito dall'utente.
Se hai bisogno di assistenza nella configurazione di un modulo con il campo Articolo Singolo, dai un'occhiata a questo articolo.

Aggiunta della classe CSS
Successivamente, aggiungeremo una classe CSS a questo campo in modo che attivi lo snippet per verificare l'importo minimo richiesto.
Per aggiungere un nome di classe CSS a un campo del modulo, seleziona il campo Articolo Singolo e fai clic sulla scheda Avanzate. All'interno delle Classi CSS, inserisci set-minimum e salva il modulo.

Aggiunta dello snippet per impostare un importo minimo
In quest'ultimo passaggio, dovrai aggiungere lo snippet al tuo sito. Se hai bisogno di aiuto per aggiungere snippet al tuo sito, consulta questo tutorial.
/**
* 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 );
Questo snippet verrà eseguito automaticamente per tutti i moduli, ma verrà eseguito solo sui campi che hanno il nome della classe CSS set-minimum. Se l'importo inserito non soddisfa il minimo, verrà visualizzato un errore al momento dell'invio del modulo.

E questo è tutto ciò che ti serve! Vuoi sapere come nascondere questo importo dalle notifiche via email? Dai un'occhiata al nostro tutorial su Come nascondere il valore del prezzo dell'articolo nelle notifiche via email.
FAQ
D: Perché non funziona per il mio sito?
R: Se questo errore non impedisce l'invio del tuo modulo, ricontrolla di aver inserito il nome della classe CSS nel campo corretto.

D: Come imposto un importo massimo?
R: Per utilizzare uno snippet simile per impostare un importo massimo, prima dovrai aggiornare il nome delle Classi CSS in set-maximum nello stesso modo in cui hai fatto nel passaggio precedente.
Quindi, aggiungi semplicemente questo snippet al tuo sito.
/**
* 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 );