Como corrigir erros de exibição de produtos do WooCommerce no Elementor
O que é a exibição de produtos do WooCommerce no Elementor?
A exibição de produtos do WooCommerce no Elementor depende de dois caminhos: o widget de Produtos (Products), que monta uma grade a partir de uma consulta ao catálogo, e os templates do Theme Builder (Single Product e Products Archive), que substituem o layout padrão da loja. Quando algo nesse caminho falha, a grade carrega vazia, a página de produto abre sem o conteúdo do template, ou a loja volta ao layout padrão do tema em vez do desenho feito no Elementor. O problema é de configuração da consulta ou da condição de exibição, não de produto cadastrado errado.
Como identificar
- O widget de Produtos (Products) aparece como uma área vazia no editor e no frontend, sem nenhum card de produto.
- A página individual do produto abre sem o layout montado no Elementor e usa o template padrão do tema.
- A grade da loja mostra a mensagem ‘Nenhum produto encontrado’ (‘No products found’) mesmo havendo produtos publicados.
- Os produtos aparecem no editor do Elementor mas somem no frontend, ou aparecem sem estilo (CSS quebrado).
Como prevenir
- Use ‘Current Query’ no widget de Produtos somente dentro do template de arquivo da loja; em páginas comuns prefira ‘Latest Products’ ou ‘Manual Selection’
- Sempre publique os templates do Theme Builder com a condição de exibição aplicada antes de remover o layout padrão do tema
- Exclua o Elementor da minificação e combinação de CSS no plugin de cache e mantenha o Elementor Pro e o WooCommerce sempre atualizados em staging primeiro
Causa
- Source do widget de Produtos definido como 'Current Query' fora de uma página de arquivo do WooCommerce, onde não existe consulta de loja para herdar.
- Template Single Product ou Products Archive criado no Theme Builder mas publicado sem condição de exibição em 'All Products' ou 'Singular -> Products', então o WooCommerce volta ao layout padrão do tema.
- Elementor Pro inativo ou com licença expirada, desativando os widgets de WooCommerce e os templates do Theme Builder que exibem a loja.
- Tema sem declaração de suporte ao WooCommerce (add_theme_support woocommerce) ou plugin desatualizado em relação à versão do Elementor, quebrando o hook que injeta os produtos.
- CSS e dados do Elementor desatualizados após atualização, deixando a grade de produtos sem layout ou invisível no frontend.
Como resolver
- Confirme o Source do widget de Produtos: abra o widget de Produtos no editor, na aba Conteúdo verifique o campo Source. Em uma página comum, use 'Latest Products' ou 'Manual Selection' e escolha os produtos. Reserve 'Current Query' apenas para o template de arquivo (Products Archive), onde existe a consulta da loja para herdar.
Conteúdo -> Source: Latest Products Conteúdo -> Source: Manual Selection (selecione os produtos) - Defina a condição de exibição do template: se a página de produto ignora o desenho do Elementor, vá ao Theme Builder e confirme que o template está Publicado e com a condição certa aplicada. Sem condição, o WooCommerce cai no layout padrão do tema.
Elementor -> Theme Builder -> Single Product -> Display Conditions Adicionar condição: All Products (ou Singular -> Products) - Verifique o Elementor Pro e o WooCommerce ativos: em Plugins, confirme que o Elementor Pro está ativo com a licença registrada e que o WooCommerce está atualizado. Os widgets de produto e os templates de loja só existem com o Elementor Pro válido.
Plugins -> Elementor Pro: Ativo Elementor -> Licença: registrada Plugins -> WooCommerce: Ativo e atualizado - Regenere CSS e dados do Elementor: se os produtos somem só no frontend ou aparecem sem estilo, recrie os arquivos de CSS do Elementor para limpar layout corrompido por atualização.
Elementor -> Ferramentas -> Regenerar arquivos e dados - Garanta o suporte do tema ao WooCommerce: se a loja inteira ignora os templates, confirme que o tema declara suporte ao WooCommerce. Em um tema próprio, adicione a declaração no functions.php do tema filho.
add_theme_support( 'woocommerce' );
// functions.php do tema filho — garante suporte ao WooCommerce e
// registra no log se a pagina de produto nao tiver template do Elementor ativo
add_action( 'after_setup_theme', function () {
add_theme_support( 'woocommerce' );
} );
add_action( 'template_redirect', function () {
if ( function_exists( 'is_product' ) && is_product() ) {
// se nenhum template do Theme Builder casou, o location 'single' fica sem documento
if ( class_exists( '\ElementorPro\Modules\ThemeBuilder\Module' ) ) {
$docs = ElementorProModulesThemeBuilderModule::instance()
->get_conditions_manager()
->get_documents_for_location( 'single' );
if ( empty( $docs ) ) {
error_log( 'Elementor/Woo: nenhum template Single Product com condicao aplicada nesta pagina de produto' );
}
}
}
} );














