Por padrão, o simulador é exibido em produtos simples e variáveis — exceto se:
- Não exigem entrega (digital, virtual).
- Estão fora de estoque.
- São do tipo Agrupado ou Externo.
Se você instalou um plugin que adiciona tipos de produto customizados (assinaturas, ingressos, kits especiais), pode querer ocultar o simulador neles.
Filtro
add_filter( 'wc_shipping_simulator_not_allowed_product_types', 'hide_wc_simulador_frete_types' );
function hide_wc_simulador_frete_types( $product_types ) {
$product_types[] = 'subscription';
$product_types[] = 'booking';
return $product_types;
}
O retorno é o array de tipos onde o simulador NÃO aparece. Os defaults grouped e external já estão inclusos — você adiciona ao array, não substitui.
Forçar exibição em tipos não suportados
Se você quer o oposto — exibir em produtos agrupados, por exemplo:
add_filter( 'wc_shipping_simulator_not_allowed_product_types', function( $types ) {
return array_diff( $types, [ 'grouped' ] );
});
O simulador foi desenhado pra produtos com peso e dimensões individuais. Em produtos agrupados ou externos, o cálculo pode não fazer sentido. Teste antes de ativar em produção.
Onde colocar
functions.php do tema-filho ou plugin de snippets. Snippets PHP personalizados não são cobertos pelo suporte.