Por padrão, o simulador é exibido junto do SKU e dos botões de compartilhar na página do produto. Você pode mover pra outras posições padrão ou colocar onde quiser via shortcode.
Posições padrão
Em WooCommerce → Configurações → Produtos → Simulador de frete, no campo Exibição do simulador:
| Opção | Onde fica |
|---|---|
| Junto dos dados do produto | Dentro do summary (título, preço, descrição curta). |
| Antes do botão comprar | Logo acima do "Adicionar ao carrinho". |
| Depois do botão comprar | Logo abaixo do "Adicionar ao carrinho". |
| Antes do formulário | Antes de toda a área de variações + quantidade + botão. |
| Depois do formulário | Depois de toda essa área. |
| Junto do SKU, botões de compartilhar | Padrão. |
| Outro local | Desativa o posicionamento automático. |
A Prioridade controla a ordem dentro do mesmo hook. Padrão 10. Quanto menor, mais cedo.
Com Elementor ou outro construtor
Se a página de produto é montada por Elementor, Divi, Bricks ou similar, geralmente os hooks acima ainda funcionam — o construtor renderiza o produto usando a estrutura nativa do WooCommerce.
Se a sua página foi feita inteiramente sem usar a estrutura nativa, use o shortcode:
[wc_simulador_frete]
Cole no widget de Shortcode/HTML do construtor, no ponto onde quiser o simulador.
Em algumas posições — especialmente fora do .entry-summary — o cálculo automático com mudança de variação ou quantidade pode parar de funcionar. O JavaScript precisa "ver" os campos do produto pra recalcular.
Se isso acontecer, ajuste o Container do produto nas configurações pra apontar pra div correta. /article/problemas-comuns.
Em local totalmente customizado (PHP)
No template ou em algum hook do tema:
if ( is_product() ) {
WC_Shipping_Simulator_Show::wc_shipping_simulator_show_simulator();
}
Ou ainda:
echo do_shortcode( '[wc_simulador_frete]' );
Carregar scripts em todas as páginas
Se você usa o simulador fora da página de produto (popup de quick-view, página customizada com produto fixo), os scripts JavaScript não carregam por padrão.
Ative Carregamento de scripts nas configurações ou via filtro:
add_filter( 'wc_simulador_frete_load_scripts', '__return_true' );
Mais detalhes em /article/carregar-scripts-em-todas-as-paginas.
Mudar a posição via filtro
Se você quer condicionar o hook por categoria, tipo de produto ou outra regra:
add_filter( 'wc_shipping_simulator_hook', function( $hook ) {
if ( has_term( 'frete-grandes', 'product_cat' ) ) {
return 'woocommerce_after_add_to_cart_button';
}
return $hook;
});
add_filter( 'wc_shipping_simulator_priority', function( $priority ) {
return 5;
});