Por padrão, os arquivos JavaScript e CSS do simulador carregam apenas na página de produto — performance melhor pro resto do site.
Se você usa o simulador em outro lugar (popup de quick-view, página customizada, post com shortcode), os scripts não estão na página e o simulador renderiza mas não funciona.
Solução via configuração
Em WooCommerce → Configurações → Produtos → Simulador de frete, ative Carregamento de scripts.
Solução via código
Equivalente ao checkbox acima:
add_filter( 'wc_simulador_frete_load_scripts', '__return_true' );
Coloque no functions.php do tema-filho ou via plugin de snippets.
Quando carregar condicionalmente
Carregar em todas as páginas é desperdício. Se você sabe exatamente em qual contexto o simulador aparece (ex: páginas de categoria com quick-view, ou um post específico), filtre:
add_filter( 'wc_simulador_frete_load_scripts', function( $load ) {
if ( is_product_category() ) {
return true;
}
return $load;
});
Ative em todas as páginas só se a abordagem condicional for difícil de manter. A diferença de performance é pequena, mas existe.