Atenção!

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

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

Ignorar

Como Restringir Cupons por Valor

Introdução

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

Por defeito, tem a opção de criar cupões em formato de percentagem ou taxa fixa para qualquer montante. No entanto, e se introduzir acidentalmente 0,75 em vez de 75%? Este pequeno trecho de código pode ajudá-lo a evitar tais erros no envio de formulários, e iremos guiá-lo através do processo neste tutorial.

Para saber mais sobre como usar cupões, reveja este guia útil.

Criação do cupão

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

Para criar um novo cupão, navegue até WPForms » Pagamentos » Cupões e clique em Adicionar Novo Cupão. No campo Nome, dê um nome ao seu cupão que faça sentido para si para fins de organização.

Em seguida, no campo Código, pode introduzir manualmente um código de cupão ou clicar no botão Gerar Código para permitir que o WPForms crie este código para si. No campo Montante, introduza 0,75 e, a partir do menu suspenso, certifique-se de selecionar o símbolo da moeda.

Ao selecionar o símbolo da moeda, está a utilizar o desconto de taxa fixa em vez de uma percentagem.

Para este tutorial, não vamos definir uma data ou hora, pelo que rolaremos para baixo e selecionaremos os formulários para os quais queremos usar este cupão e, em seguida, clicaremos em Guardar Cupão para guardar as suas alterações.

para restringir cupões, devemos começar por criar um novo cupão

Criação do formulário

Agora que o cupão está configurado, é hora de criar o formulário. Para qualquer assistência sobre como criar formulários, por favor, consulte este guia passo a passo.

crie o seu formulário e adicione os seus campos

Depois de adicionarmos o campo Cupão, notará que o cupão já está atribuído.

note que quando adiciona o campo de cupão, os cupões permitidos já estão atribuídos

Adição do trecho de código

Agora é hora de adicionar o trecho. Se precisar de alguma ajuda sobre como e onde adicionar trechos, por favor, reveja 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 precisa. Sempre que um visitante usar esse cupão, não poderá enviar o formulário.

ao usar este trecho para restringir cupões, verá um erro no formulário quando o cupão for usado

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