wpforms_process_validate_payment-coupon

Descripción

En wpforms_process_validate_payment-coupon activa la validación en el campo Cupón al enviar el formulario.

Parámetros

$campo_id
(int) ID de campo.
$campo_submitir
(matriz) Valor de campo original sin procesar/no digitalizado enviado para el campo.
$form_data
(array) Ajustes/datos del formulario procesados, preparados para su uso posterior.

Fuente

wpforms/includes/class-process.php

Más información

En wpforms_process_validate_payment-coupon se aplica a la acción Cupón campo de formulario para comprobar el importe del cupón, como ejemplo está por encima de un importe determinado establecido en la función.

Ejemplos

En este ejemplo, estamos impidiendo el envío de cualquier formulario si el importe de la tarifa plana del cupón es inferior a 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 );

Referencia del artículo: Cómo restringir cupones por importe