Ocultar o simulador em produtos específicos
Use o filtro wcsp_is_available para impedir que o simulador apareça em produtos com determinados critérios — categoria, SKU, tipo de produto, faixa de preço, qualquer regra que faça sentido.
Ocultar o simulador não desativa o parcelamento no checkout. O gateway de pagamento ainda vai permitir parcelar, se for permitido por ele. Esta configuração é só visual.
Como funciona
add_filter( 'wcsp_is_available', function( $is_available, $product ) {
if ( /* condição */ ) {
return false;
}
return $is_available;
}, 10, 2 );
Retorne false pra ocultar, mantenha $is_available pra herdar o comportamento padrão.
Casos comuns
Ocultar para tipos de produto (assinatura, agrupado, etc.)
add_filter( 'wcsp_is_available', function( $is_available, $product ) {
$tipos_ocultos = array( 'subscription', 'variable-subscription' );
if ( $product && $product->is_type( $tipos_ocultos ) ) {
return false;
}
return $is_available;
}, 10, 2 );
Ocultar por SKU
add_filter( 'wcsp_is_available', function( $is_available, $product ) {
$skus_ocultos = array( 'sku-001', 'voucher-presente', 'gift-card' );
if ( $product && in_array( $product->get_sku(), $skus_ocultos, true ) ) {
return false;
}
return $is_available;
}, 10, 2 );
Ocultar por categoria
Por slug:
add_filter( 'wcsp_is_available', function( $is_available, $product ) {
if ( $product && has_term( array( 'vouchers', 'gift-cards' ), 'product_cat', $product->get_id() ) ) {
return false;
}
return $is_available;
}, 10, 2 );
Por ID:
add_filter( 'wcsp_is_available', function( $is_available, $product ) {
$categorias_ocultas = array( 12, 13 );
if ( $product && array_intersect( $categorias_ocultas, $product->get_category_ids() ) ) {
return false;
}
return $is_available;
}, 10, 2 );
Ocultar abaixo de um preço mínimo
Produtos baratos podem não fazer sentido ter parcelamento.
add_filter( 'wcsp_is_available', function( $is_available, $product ) {
if ( $product && $product->get_price() < 50 ) {
return false;
}
return $is_available;
}, 10, 2 );
Ocultar acima de um preço máximo
Caso oposto: produtos caríssimos têm cotação manual.
add_filter( 'wcsp_is_available', function( $is_available, $product ) {
if ( $product && $product->get_price() > 100000 ) {
return false;
}
return $is_available;
}, 10, 2 );
Ocultar produtos em promoção
add_filter( 'wcsp_is_available', function( $is_available, $product ) {
if ( $product && $product->is_on_sale() ) {
return false;
}
return $is_available;
}, 10, 2 );
Combinar várias regras
add_filter( 'wcsp_is_available', function( $is_available, $product ) {
if ( ! $product ) return $is_available;
// Sem simulador em vouchers
if ( has_term( 'vouchers', 'product_cat', $product->get_id() ) ) {
return false;
}
// Sem simulador em assinaturas
if ( $product->is_type( array( 'subscription', 'variable-subscription' ) ) ) {
return false;
}
// Sem simulador em produtos abaixo de R$ 30
if ( $product->get_price() < 30 ) {
return false;
}
return $is_available;
}, 10, 2 );
Quando o simulador some, o que aparece no lugar?
O HTML padrão do WooCommerce — só o preço normal, sem nenhum bloco extra. O preço cheio do produto fica visível como em qualquer loja Woo padrão.
Diferença pro filtro wc_installments_simulator_settings
| Comportamento | wcsp_is_available |
wc_installments_simulator_settings |
|---|---|---|
| Esconde o plugin completamente | Sim | Não |
| Modifica o que o plugin exibe | Não | Sim |
| Caso de uso | "Não quero ver nada do plugin aqui" | "Quero o plugin aqui, mas com regras diferentes" |
Se você quer só uma exibição diferente (ex: sem desconto, mas com parcelamento), use wc_installments_simulator_settings — veja Regras por categoria, tag ou preço.