Como restringir cupons por valor

Introdução

Você tem interesse em saber como restringir cupons com base em um valor especificado? Este tutorial o guiará pelo processo de utilização de uma ação PHP para impedir que os cupons sejam processados quando seu valor estiver abaixo de um limite definido.

Por padrão, você tem a opção de criar cupons em formato de porcentagem ou taxa fixa para qualquer valor. No entanto, e se você inserir por engano 0 ,75 em vez de 75%? Esse pequeno trecho de código pode ajudá-lo a evitar esses erros nos envios de formulários, e nós o orientaremos no processo neste tutorial.

Para saber mais sobre o uso de cupons, consulte este guia útil.

Criação do cupom

Para começar, vamos criar um cupom. Neste tutorial, criaremos um cupom com uma taxa fixa de 0,75, embora nossa intenção seja defini-la como 75%. Isso é apenas para fins de demonstração e para destacar como o snippet que adicionaremos pode ajudar na validação.

Para criar um novo cupom, navegue até WPForms " Pagamentos " Cupons e clique em Adicionar novo cupom. No campo Name (Nome ), dê ao seu cupom um nome que faça sentido para você, para fins de organização.

Em seguida, no campo Code (Código ), você pode inserir manualmente um código de cupom ou clicar no botão Generate Code (Gerar código) para permitir que o WPForms crie esse código para você. No campo Amount (Valor), digite .75 e, no menu suspenso, certifique-se de selecionar o símbolo de moeda.

Ao selecionar o símbolo de moeda, você está utilizando o desconto de taxa fixa em vez de uma porcentagem.

Para este tutorial, não definiremos uma data ou hora, portanto, rolaremos a tela para baixo e selecionaremos os formulários para os quais queremos usar esse cupom e, em seguida, clicaremos em Save Coupon (Salvar cupom ) para salvar as alterações.

Para restringir os cupons, devemos começar criando um novo cupom

Criando o formulário

Agora que o cupom está configurado, é hora de criar o formulário. Para obter ajuda sobre como criar formulários, dê uma olhada neste guia passo a passo.

Crie seu formulário e adicione seus campos

Depois de adicionarmos o campo Coupon (Cupom ), você perceberá que o cupom já está atribuído.

Observe que, quando você adiciona o campo de cupom, os cupons permitidos já estão atribuídos

Adicionando o snippet

Agora é hora de adicionar o snippet. Se precisar de ajuda sobre como e onde adicionar snippets, consulte este tutorial.

/*
 * Do not allow to submit coupons lower than 1.00.
 *
 * @link https://wpforms.com/developers/how-to-restrict-coupons-by-amount/
*/
 
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 );

E isso é tudo o que você precisa: sempre que um visitante usar esse cupom, ele não poderá enviar o formulário.

Ao usar esse snippet para restringir os cupons, você verá um erro no formulário quando o cupom for usado

Referência da ação: wpforms_process_validate_payment-coupon