Filtros do Simulador de Parcelas, conferidos no código da versão 3.2.0. O plugin não dispara actions próprias. As actions wcsp_before_installments_table e wcsp_after_installments_table só existem no layout antigo (Versão do plugin desmarcado).
Onde colocar o código
No functions.php do tema filho ou num plugin de snippets (como o Code Snippets). Não edite os arquivos do plugin: uma atualização apaga a mudança.
Configurações
wc_installments_simulator_settings
Filtro. Muda as configurações antes de qualquer cálculo. Recebe o produto quando há um, então serve pra regras por produto ou categoria. Vale pra vitrine, carrinho, schema, feeds e desconto do checkout (que lê as configurações de cada item).
| Parâmetro | Tipo | Descrição |
|---|---|---|
$settings |
array | Configurações já com os padrões. Chaves principais: discount, fee, max_installments, max_installments_interest_free, min_installment, product_layout, loop_layout, enable_schema. |
$product |
WC_Product|null |
Produto em questão, ou null em contextos gerais. |
Retorno: array.
add_filter( 'wc_installments_simulator_settings', function ( $settings, $product ) {
if ( $product && has_term( 'promocao', 'product_cat', $product->get_id() ) ) {
$settings['discount'] = 15;
}
return $settings;
}, 10, 2 );
Mais exemplos em Regras diferentes por categoria, tag ou preço.
wc_installments_simulator_cart_settings
Filtro. Muda as configurações só na exibição do total do carrinho.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$settings |
array | Configurações do carrinho. |
$order_total |
float | Total do carrinho. |
$amount_to_remove |
float | Valor que fica fora do desconto à vista (como o frete). |
Retorno: array.
add_filter( 'wc_installments_simulator_cart_settings', function ( $settings, $order_total ) {
if ( $order_total > 1000 ) {
$settings['max_installments'] = 12;
}
return $settings;
}, 10, 2 );
wc_installments_simulator_settings_fields
Filtro. Muda a lista de campos da tela de configurações. wc_simulador_parcelas_settings é o nome antigo, mantido por compatibilidade.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$fields |
array | Campos no formato da API de configurações do WooCommerce. |
Retorno: array.
Disponibilidade e exibição
wcsp_is_available
Filtro. Decide se o simulador aparece pra um produto. A checagem de licença vem antes e não pode ser contornada por este filtro.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$is_available |
bool | false no painel, em produtos agrupados e sem preço. |
$product |
WC_Product |
Produto. |
Retorno: bool. Exemplos em Como esconder o simulador em produtos específicos.
wcsp_layout
Filtro. Troca o modelo de exibição de um produto.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$slug |
string | Modelo escolhido: default, pix_highlight, payment_tiles, savings_banner, payment_list, compact ou payment_selector. |
$context |
string | product ou loop. |
$product |
WC_Product |
Produto. |
Retorno: string. Um modelo que não existe no contexto cai no modelo Padrão.
add_filter( 'wcsp_layout', function ( $slug, $context, $product ) {
if ( 'product' === $context && $product->get_price() > 1000 ) {
return 'payment_selector';
}
return $slug;
}, 10, 3 );
wcsp_layouts
Filtro. Lista de modelos, com rótulo, descrição, classe, contextos e opções de cada um. Serve pra mudar padrões das opções ou registrar um modelo próprio (classe que estende WC_Installments_Simulator\Frontend\Layouts\Layout).
| Parâmetro | Tipo | Descrição |
|---|---|---|
$layouts |
array | Modelos indexados pelo slug. |
Retorno: array.
add_filter( 'wcsp_layouts', function ( $layouts ) {
$layouts['pix_highlight']['options']['accent']['default'] = '#6d28d9';
return $layouts;
} );
wcsp_handler
Filtro. Troca o objeto que monta a exibição. Uso avançado.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$handler |
Prices\Product|Prices\Loop |
Exibição da página do produto ou da listagem. |
$product |
WC_Product |
Produto. |
Retorno: objeto que estende WC_Installments_Simulator\Frontend\Prices\Prices_Base.
wc_installments_simulator_icon
Filtro. Troca o SVG de um ícone. Exemplos em Como trocar os ícones de Pix, boleto e cartão.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$icon |
string | SVG atual. |
$type |
string | pix, ticket (boleto) ou card. |
Retorno: string.
wcsp_incash_savings_html
Filtro. HTML da linha "Você economiza" no modelo Padrão.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$html |
string | HTML da linha. |
$savings |
float | Valor economizado. |
$savings_percent |
float | Percentual economizado. |
$product |
WC_Product|null |
Produto (null no carrinho). |
$settings |
array | Configurações. |
$prices |
Prices_Base |
Objeto da exibição. |
Retorno: string.
wcsp_table_interest_label
Filtro. Sufixo de cada parcela com juros na tabela completa e no modal.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$label |
string | Valor de Tabela completa - sufixo parcela com juros. |
$installment |
array | amount, total, installments e interest_free. |
Retorno: string.
add_filter( 'wcsp_table_interest_label', function ( $label, $installment ) {
return 'total ' . wc_price( $installment['total'] );
}, 10, 2 );
wcsp_payment_modal_html
Filtro. HTML de dentro do modal Formas de pagamento (preço à vista e tabela de parcelas), usado com Exibição da tabela completa em Abrir em modal com as formas de pagamento. Desde a versão 3.1.0.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$html |
string | Seções à vista e do cartão. |
$data |
array | Preços do produto: card_price, incash_price, reference_price, full_price, savings, savings_percent, installments, has_multiple_prices. |
$settings |
array | Configurações. |
Retorno: string. O conteúdo fica num <span> escondido dentro do preço do tema, e o script copia pro modal no clique. Use só tags de linha, como <span> e <strong>: um <div> ou <table> fecha o <p class="price"> do tema.
add_filter( 'wcsp_payment_modal_html', function ( $html ) {
return $html . '<span class="minha-nota">Parcelamento sujeito à aprovação do cartão.</span>';
} );
Preços
wcsp_incash_price e wcsp_credit_card_price
Filtros. Preço base do cálculo à vista e do cartão, antes do desconto e dos juros.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$price |
float | Preço que o WooCommerce exibe (o menor, em produtos variáveis). |
$product |
WC_Product |
Produto. |
$prices |
Prices_Base |
Objeto da exibição. |
Retorno: float.
wcsp_incash_price_final
Filtro. Preço à vista depois do desconto.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$price |
string | Preço com desconto. |
$settings |
array | Configurações. |
$amount_to_remove |
float | Valor que ficou fora do desconto. |
$prices |
Prices_Base |
Objeto da exibição. |
Retorno: string ou float.
wcsp_regular_price
Filtro. Preço normal usado no preço riscado de produtos em promoção.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$regular_price |
string | Preço normal. |
$product |
WC_Product |
Produto. |
$prices |
Prices_Base |
Objeto da exibição. |
$settings |
array | Configurações. |
Retorno: string ou float.
wcsp_incash_savings_amount
Filtro. Valor economizado no pagamento à vista, usado na linha de economia e nos textos com {savings}.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$savings |
float | Preço base menos preço à vista. |
$product |
WC_Product|null |
Produto. |
$settings |
array | Configurações. |
$prices |
Prices_Base |
Objeto da exibição. |
Retorno: float.
wcsp_amount_to_remove_before_apply_incash_discount
Filtro. Valor que fica fora do desconto à vista na exibição do carrinho. Não muda o desconto do checkout.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$amount |
float | 0 por padrão. O frete é somado depois, conforme a opção do carrinho. |
Retorno: float.
Parcelas e juros
wcsp_is_interest_free
Filtro. Decide se uma parcela é sem juros.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$is_free |
bool | Resultado padrão. |
$total |
float | Preço base. |
$fee |
float | Taxa geral. |
$installment_fee |
float | Taxa desta parcela (da tabela dinâmica, se houver). |
$i |
int | Número de parcelas. |
$max_free |
int | Parcelas sem juros. |
$max |
int | Máximo de parcelas. |
$is_sum |
bool | Configuração interna da tabela dinâmica. |
$is_pagseguro |
bool | Parcelamento via PagSeguro marcado. |
Retorno: bool.
// Até 6x sem juros acima de R$ 1.000.
add_filter( 'wcsp_is_interest_free', function ( $is_free, $total, $fee, $installment_fee, $i ) {
return $is_free || ( $total >= 1000 && $i <= 6 );
}, 10, 5 );
wc_installments_simulator_interest_free_amount
Filtro. Valor de uma parcela sem juros.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$amount |
float | Total dividido pelas parcelas. |
$total |
float | Preço base. |
$i |
int | Número de parcelas. |
Retorno: float.
wcsp_dynamic_installments_limit
Filtro. Quantas linhas a Taxas de juros dinâmica mostra na tela de configurações. Não muda a loja.
| Parâmetro | Tipo | Descrição |
|---|---|---|
$limit |
int | Máximo de parcelas salvo. |
Retorno: int.
Arquivos CSS e JS
wcsp_style
Filtro, chamado duas vezes. Na primeira recebe true: retorne false pra não carregar o CSS do plugin. Na segunda recebe a URL do CSS: retorne outra URL pra trocar o arquivo.
add_filter( 'wcsp_style', '__return_false' );
wcsp_script
Filtro. Decide se o JavaScript carrega. Padrão: is_product(). O script abre a tabela de parcelas e as abas do Seletor à vista × cartão.
add_filter( 'wcsp_script', function ( $load ) {
return $load || is_shop() || is_product_category();
} );
wcsp_script_dependencies
Filtro. Dependências do script. Padrão: [ 'jquery' ].
wcsp_script_params
Filtro. Parâmetros enviados ao script no objeto WCInstallmentsSimulatorParams.
Feeds
wcsp_feed_integrations
Filtro. Lista de integrações de feed. Cada item implementa WC_Installments_Simulator\Integrations\Feed_Integration_Interface.
wcsp_feed_integrations_options
Filtro. Opções do campo Plugins compatíveis, no formato id => nome.
Shortcodes
[wcsp_open_single_product]— os preços seguintes usam o contexto da página do produto.[wcsp_close_single_product]— os preços seguintes usam o contexto da listagem.
Quando usar, em Solução de problemas.