Resumen de IA
Descripción
La acción wpforms_process_validate_payment-coupon activa la validación en el campo de formulario Cupón cuando se envía el formulario.
Parámetros
- $field_id
- (int) ID del campo.
- $field_submit
- (array) Valor original sin procesar/sanitizar del campo enviado.
- $form_data
- (array) Configuración/datos del formulario procesados, preparados para ser utilizados más adelante.
Origen
wpforms/includes/class-process.php
Más Información
La acción wpforms_process_validate_payment-coupon se aplica al campo de formulario Cupón para comprobar el importe del cupón, ya que un ejemplo está por encima de un importe determinado establecido en la función.
Ejemplos
En este ejemplo, impedimos cualquier envío de formulario si el importe del cupón de tarifa fija 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 );
Relacionado
Referencia del artículo: Cómo restringir cupones por importe