Atenção!

Este artigo contém código PHP e destina-se a desenvolvedores. Oferecemos este código como uma cortesia, mas não fornecemos suporte para personalizações de código ou desenvolvimento de terceiros.

Para orientação extra, consulte o tutorial do WPBeginner sobre como adicionar código personalizado.

Dispensar

Como Restringir Cupons por Valor

Introdução

Você tem interesse em como restringir cupons com base em um valor especificado? Este tutorial irá guiá-lo através do processo de utilização de uma ação PHP para impedir que cupons sejam processados quando seu valor for inferior a um limite definido.

Por padrão, você tem a opção de criar cupons no formato de porcentagem ou valor fixo para qualquer quantia. No entanto, e se você inserir acidentalmente 0,75 em vez de 75%? Este pequeno trecho de código pode ajudá-lo a evitar tais erros em envios de formulário, e nós o guiaremos através do processo neste tutorial.

Para saber mais sobre como usar cupons, revise este guia útil.

Criando o 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-lo em 75%. Isso é apenas para fins de demonstração e para destacar como o trecho 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 Nome, dê ao seu cupom um nome que faça sentido para você para fins de organização.

Em seguida, no campo Código, você pode inserir manualmente um código de cupom ou clicar no botão Gerar Código para permitir que o WPForms crie este código para você. No campo Valor, insira 0,75 e, no menu suspenso, certifique-se de selecionar o símbolo da moeda.

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

Para este tutorial, não definiremos data ou hora, então rolaremos para baixo e selecionaremos os formulários para os quais queremos usar este cupom e, em seguida, clicaremos em Salvar Cupom para salvar suas alterações.

para restringir 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 qualquer ajuda sobre como criar formulários, por favor, dê uma olhada neste guia passo a passo.

crie seu formulário e adicione seus campos

Depois de adicionar o campo Cupom, você notará que o cupom já está atribuído.

observe que ao adicionar o campo de cupom, os cupons permitidos já estão atribuídos

Adicionando o snippet

Agora é hora de adicionar o trecho de código. Se precisar de ajuda sobre como e onde adicionar trechos de código, revise 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 é tudo o que você precisa. Sempre que um visitante usar esse cupom, ele não poderá enviar o formulário.

ao usar este trecho para restringir cupons, você verá um erro no formulário quando o cupom for usado

Referência de Ação: wpforms_process_validate_payment-coupon