Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous fournissons ce code à titre de courtoisie, mais nous n'offrons pas de support pour les personnalisations de code ou le développement tiers.

Pour obtenir de l'aide supplémentaire, veuillez consulter le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Ignorer

Comment définir un montant minimum pour un champ de prix

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.

créer un nouveau formulaire, ajouter un champ de prix d'article unique à votre formulaire et définir le type d'article sur défini par l'utilisateur

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.

ajouter le nom de la classe CSS au champ d'article unique

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.

il y a maintenant une erreur de montant minimum 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.

ajouter le nom de la classe CSS au champ d'article unique

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 );