Résumé IA
Introduction
Souhaitez-vous définir un montant minimum pour un champ de prix sur votre WPForms ? À l'aide d'un petit extrait de code PHP, vous pouvez facilement définir un montant minimum pour le champ de prix Article unique qui est Défini par l'utilisateur. Dans ce tutoriel, nous vous guiderons à travers chaque étape pour y parvenir.
Création du formulaire
Tout d'abord, vous devrez créer un formulaire et ajouter un champ de prix Article unique au formulaire. Une fois que vous avez ajouté le champ, assurez-vous que le Type d'article est défini sur Défini par l'utilisateur.
Si vous avez besoin d'aide pour configurer un formulaire avec le champ Article unique, veuillez consulter cet article.

Ajout de la classe CSS
Ensuite, nous allons ajouter une classe CSS à ce champ afin qu'il déclenche l'extrait de code pour vérifier le montant minimum requis.
Pour ajouter un nom de classe CSS à un champ de formulaire, sélectionnez le champ Article unique et cliquez sur l'onglet Avancé. Dans Classes CSS, entrez set-minimum et enregistrez le formulaire.

Ajout de l'extrait de code pour définir un montant minimum
Dans cette dernière étape, vous devrez ajouter l'extrait de code à votre site. Si vous avez besoin d'aide pour ajouter des extraits de code à votre site, veuillez consulter ce tutoriel.
/**
* 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 );
Cet extrait de code s'exécutera automatiquement pour tous les formulaires, mais ne s'exécutera que sur les champs portant le nom de classe CSS set-minimum. Si le montant saisi n'atteint pas le minimum, une erreur s'affichera lors de la soumission du formulaire.

Et c'est tout ce dont vous avez besoin ! Souhaitez-vous savoir comment masquer ce montant dans les notifications par e-mail ? Consultez notre tutoriel sur Comment masquer la valeur du prix de l'article dans les notifications par e-mail.
FAQ
Q : Pourquoi cela ne fonctionne-t-il pas pour mon site ?
R : Si cette erreur n'empêche pas la soumission de votre formulaire, vérifiez que vous avez saisi le nom de la classe CSS dans le bon champ.

Q : Comment définir un montant maximum ?
R : Pour utiliser un extrait de code similaire afin de définir un montant maximum, vous devrez d'abord mettre à jour le nom des Classes CSS en set-maximum de la même manière que vous l'avez fait à l'étape précédente.
Ensuite, ajoutez simplement cet extrait de code à votre site.
/**
* 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 );