Referência de hooks (filtros e ações)
Lista completa de filtros e ações expostos pelo plugin, agrupados por área. Cada um vem com assinatura, retorno e exemplo curto.
Disponibilidade do simulador
wcsp_is_available
Controla se o simulador é exibido para um produto específico.
add_filter( 'wcsp_is_available', function( $is_available, $product ) {
return $is_available;
}, 10, 2 );
$is_available(bool) — valor atual.$product(WC_Product) — produto avaliado.
Use pra ocultar em produtos específicos (categoria, SKU, tipo, preço). Veja Ocultar em produtos específicos.
Cálculo de preço
wcsp_credit_card_price
Modifica o preço usado como base do cartão de crédito antes da exibição.
add_filter( 'wcsp_credit_card_price', function( $price, $product ) {
return $price;
}, 10, 2 );
wcsp_incash_price
Modifica o preço usado como base do desconto à vista antes da exibição.
add_filter( 'wcsp_incash_price', function( $price, $product ) {
return $price;
}, 10, 2 );
A integração com Advanced Woo Discount Rules entra automaticamente neste filtro — se você empilha customizações, lembre que a regra do Discount Rules já passou.
wcsp_regular_price e wcsp_incash_price_final
Versões usadas no fim da cadeia para o preço regular (riscado, em promoção) e o preço final exibido. Use só se precisa intervir depois de todas as outras transformações.
Cálculo de juros
wcsp_is_interest_free
Controla se uma parcela específica é marcada como sem juros.
add_filter( 'wcsp_is_interest_free', function( $is_free, $total, $fee, $installment_fee, $i, $max_free ) {
if ( $total > 1000 && $i <= 3 ) {
return true;
}
return $is_free;
}, 10, 6 );
wc_installments_simulator_interest_free_amount
Modifica o valor individual de uma parcela sem juros (útil pra arredondar).
add_filter( 'wc_installments_simulator_interest_free_amount', function( $amount, $total, $i ) {
return ceil( $amount * 2 ) / 2; // arredonda para 50 centavos
}, 10, 3 );
wcsp_dynamic_installments_limit
Limita quantas parcelas aparecem na tabela dinâmica.
add_filter( 'wcsp_dynamic_installments_limit', function() {
return 6;
});
Configurações
wc_installments_simulator_settings
Modifica as configurações globalmente ou por produto. O filtro mais usado.
add_filter( 'wc_installments_simulator_settings', function( $settings, $product ) {
if ( $product && has_term( 'eletronicos', 'product_cat', $product->get_id() ) ) {
$settings['max_installments'] = 12;
$settings['fee'] = 1.99;
}
return $settings;
}, 10, 2 );
Detalhes em Regras por categoria, tag ou preço.
wc_installments_simulator_cart_settings
Mesma ideia, mas aplicado especificamente quando o plugin renderiza no carrinho.
add_filter( 'wc_installments_simulator_cart_settings', function( $settings, $total, $amount_remove ) {
return $settings;
}, 10, 3 );
wcsp_amount_to_remove_before_apply_incash_discount
Adiciona valores que devem ser excluídos do cálculo do desconto à vista (frete já tem opção própria nas configurações).
add_filter( 'wcsp_amount_to_remove_before_apply_incash_discount', function( $amount ) {
return $amount + 10;
});
Ícones e exibição
wc_installments_simulator_icon
Substitui os SVGs de Pix, boleto ou cartão.
add_filter( 'wc_installments_simulator_icon', function( $icon, $type ) {
if ( 'card' === $type ) {
return '<svg>...</svg>';
}
return $icon;
}, 10, 2 );
Detalhes em Customizar ícones.
wcsp_handler
Substitui completamente o handler de exibição (Página do Produto vs. Listagem). Casos extremos.
add_filter( 'wcsp_handler', function( $handler, $product ) {
return new MeuHandlerCustomizado();
}, 10, 2 );
wcsp_table_interest_label
Customiza o rótulo de juros em cada linha da tabela completa.
add_filter( 'wcsp_table_interest_label', function( $label, $installment ) {
return sprintf( '+%.1f%% de juros', $installment['interest'] ?? 0 );
}, 10, 2 );
Assets (CSS e JS)
wcsp_style
Controla o enqueue do CSS — pode retornar false (desliga), true (default) ou uma URL de stylesheet customizado.
add_filter( 'wcsp_style', function() {
return plugins_url( 'meu-css.css', __FILE__ );
});
// ou para desativar totalmente:
add_filter( 'wcsp_style', '__return_false' );
wcsp_script
Controla o enqueue do JavaScript.
add_filter( 'wcsp_script', 'is_product' ); // só carrega na página do produto
wcsp_script_dependencies
Adiciona/remove dependências do JS.
add_filter( 'wcsp_script_dependencies', function( $deps ) {
$deps[] = 'meu-script-customizado';
return $deps;
});
wcsp_script_params
Modifica os parâmetros localizados (objeto WCInstallmentsSimulatorParams no front).
add_filter( 'wcsp_script_params', function( $params ) {
$params['minhaConfig'] = 'valor';
return $params;
});
Schema markup
woocommerce_structured_data_product_offer
O plugin já hooka aqui pra injetar o preço com desconto. Você pode hookar depois (prioridade > 10) pra ajustar o que ele injetou.
rank_math/json_ld
Atualiza o schema do Rank Math. O plugin hooka automaticamente.
rank_math/opengraph/facebook/product_price_amount
Atualiza o preço do Open Graph. O plugin hooka automaticamente.
Integrações de feed
wcsp_feed_integrations
Registra integrações customizadas de feed.
add_filter( 'wcsp_feed_integrations', function( $integrations ) {
$integrations[] = new MinhaFeedIntegration();
return $integrations;
});
wcsp_feed_integrations_options
Adiciona opções no dropdown Plugins compatíveis.
add_filter( 'wcsp_feed_integrations_options', function( $options ) {
$options['meu-feed'] = 'Meu Plugin de Feed';
return $options;
});
Aplicação de desconto no checkout
woocommerce_cart_calculate_fees
Hook nativo do WooCommerce. O plugin hooka aqui via Gateway_Discount quando você configura Método com desconto. Não recomendamos hookar diretamente — prefira usar wcsp_amount_to_remove_before_apply_incash_discount ou wc_installments_simulator_settings pra ajustar o cálculo.