FernandoAcosta.Netdocs

Personalizando aparência

2 min de leituraAtualizado há 5 dias

Personalize o ícone, o CSS e a estrutura do formulário de seleção de planos no checkout.

Ícone do método

Por padrão o método aparece sem ícone. Use o filtro woocommerce_wc_ticket_installments_icon pra adicionar um:

add_filter( 'woocommerce_wc_ticket_installments_icon', function() {
    return '<img src="' . get_stylesheet_directory_uri() . '/assets/boleto.png" alt="Boleto" />';
});

A função pode retornar uma URL crua (vira <img src="..."> automaticamente pelo WooCommerce) ou HTML completo.

CSS padrão dos botões de rádio

O template checkout-form.php injeta um bloco <style> inline com regras pros radios:

#wc-ticket-installments-form input { display: none; }
#wc-ticket-installments-form input + label { display: block; cursor: pointer; }
#wc-ticket-installments-form input + label .custom-checkbox {
    width: 15px; height: 15px; border: 1px solid #000;
}
#wc-ticket-installments-form input:checked + label .custom-checkbox {
    background: #000;
}

A intenção é esconder o radio nativo e usar .custom-checkbox como visual da seleção.

Desabilitando o CSS padrão

Pra usar o estilo do seu tema sem conflito:

add_filter( 'woocommerce_wc_ticket_gateway_use_css', '__return_false' );

Com isso o <style> inline some, e os radios voltam a renderizar com a aparência nativa do navegador. Aplique seu CSS no style.css do tema.

Customizando os radios

Estrutura HTML do form (gerada pelo template):

<div id="wc-ticket-installments-form">
  <input type="radio" name="ticket_installments_option" id="ticket_installments_option[3X]" value="3X" checked />
  <label for="ticket_installments_option[3X]">
    <span class="custom-checkbox"></span>3x de R$ 100,00
  </label>
  ...
</div>

Exemplo de CSS pra cards selecionáveis:

#wc-ticket-installments-form input { display: none; }

#wc-ticket-installments-form input + label {
    display: block;
    padding: 12px 16px;
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}

#wc-ticket-installments-form input:checked + label {
    border-color: #111;
    background: #f7f7f7;
}

#wc-ticket-installments-form input + label .custom-checkbox { display: none; }
Combine com o filtro

Sempre desabilite o CSS padrão (woocommerce_wc_ticket_gateway_use_css → false) antes de aplicar estilos próprios — caso contrário, o <style> inline tem precedência por carga tardia.

Modificando o template

O checkout-form.php é resolvido via wc_get_template() — você pode sobrescrever copiando o arquivo pra:

yourtheme/woocommerce/checkout-form.php

A partir desse caminho o WooCommerce passa a usar o template do tema em vez do plugin. Útil quando você precisa mudar a estrutura HTML (ex.: usar <div> em vez de <input> + <label>).

Manutenção

Templates customizados ficam congelados na versão em que foram copiados. Se o plugin atualizar o template no futuro, você precisa reaplicar as mudanças manualmente.

Mudando o texto dos planos sem editar a tabela

Use woocommerce_wc_ticket_gateway_installments_available pra reescrever a description de cada plano em runtime — útil pra adicionar prefixos, sufixos, ou regras condicionais (ex.: tarja "promocional" em determinados códigos).

Foi útil?