Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous offrons ce code par courtoisie, mais nous ne fournissons pas de support pour les personnalisations de code ou le développement de tierces parties.

Pour plus d'informations, consultez le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Rejeter

wpforms_process_validate_payment-coupon

Description

Le wpforms_process_validate_payment-coupon déclenche la validation de l'élément Coupon lorsque le formulaire est soumis.

Paramètres

$field_id
(int) ID du champ.
$field_submit
(array) Valeur originale brute/non nettoyée soumise pour le champ.
$form_data
(tableau) Paramètres/données de formulaire traités, préparés pour être utilisés ultérieurement.

Source

wpforms/includes/class-process.php

Plus d'informations

Le wpforms_process_validate_payment-coupon est appliquée à l'action Coupon champ de formulaire pour vérifier le montant du coupon, par exemple s'il est supérieur à un montant particulier défini dans la fonction.

Exemples

Dans cet exemple, nous empêchons toute soumission de formulaire si le montant forfaitaire du coupon est inférieur à 1,00.

/*
 * Do not allow to submit coupons lower than 1.00.
 *
 * @link https://wpforms.com/developers/wpforms_process_validate_payment-coupon/
 *
 * @param int     $field_id        Field ID.
 * @param array   $field_submit    Unsanitized field value submitted for the field.
 * @param array   $form_data       Form data and settings.
*/

function wpf_discard_low_coupons( $field_id, $field_submit, $form_data ) {

	$coupon = wpforms_coupons()->get( 'repository' )->get_coupon_by_code( $field_submit );

	if ( $coupon === null ) {
		return;
	}

	$currency = wpforms_get_currency();

	if ( $coupon->get_discount_type() === 'flat' && (float) $coupon->get_discount_amount() <= 1.00 ) {
		wpforms()->get( 'process' )->errors[ $form_data[ 'id' ] ][ $field_id ] = sprintf( /* translators: %s - Currency code name. */
			esc_html__( 'Coupon amount is less that 1.00 %s. Please, use another one.', 'your-translation-domain' ),
			$currency
		);
	}
}
add_action( "wpforms_process_validate_payment-coupon", 'wpf_discard_low_coupons', 10, 3 );

Référence de l'article : Comment restreindre les coupons par montant