# Como corrigir o JetReviews que não carrega avaliações no frontend

O JetReviews não carrega avaliação no frontend quando o widget de avaliações não foi inserido no template do post, quando as avaliações ficam presas na moderação ou quando o cache da página serve uma versão antiga sem as notas mais recentes.

## O que é JetReviews que não carrega avaliações?

O JetReviews é o plugin de avaliações da Crocoblock para o ecossistema Jet/Elementor: ele permite que visitantes deixem notas e comentários em posts, produtos ou qualquer tipo de conteúdo, e exibe esses dados por meio de widgets como o de formulário de avaliação, o de lista de avaliações e o resumo com a nota média. As avaliações ficam guardadas no banco e são renderizadas no frontend pelo widget colocado no template ou na página.

Quando o JetReviews não carrega avaliação, o conteúdo existe no painel, mas não aparece para o visitante. Isso acontece porque a renderização depende de três condições encadeadas: o widget de avaliações precisa estar presente no local onde o post é exibido, a avaliação precisa estar aprovada quando a moderação está ativa, e o frontend precisa servir o HTML atualizado sem que um cache antigo esconda as notas. Falhar em qualquer uma delas deixa a área de avaliações vazia.

## Como identificar

- A área de avaliações aparece vazia no frontend, mesmo havendo avaliações registradas no painel do WordPress.
- A mensagem 'No reviews yet' ou 'Ainda não há avaliações' continua na página depois que um visitante já enviou uma avaliação.
- A nota média e a contagem de estrelas do resumo do JetReviews não atualizam após uma nova avaliação ser enviada.
- O formulário de avaliação envia com sucesso, mas a avaliação não passa a ser exibida na lista logo abaixo.
- O widget de lista de avaliações some por completo da página única (single) ou do Listing Grid, embora apareça no editor do Elementor.

**Antes de começar:** Antes de desativar plugins, trocar o tema ou limpar caches em produção, faça um backup do site (arquivos e banco de dados) ou teste primeiro em um ambiente de staging, para poder reverter caso a exibição das avaliações quebre.

## Como prevenir

- Inclua o widget de lista de avaliações no template padrão do single de cada tipo de post avaliado, para que toda nova publicação já nasça com a área de avaliações pronta.
- Defina uma política clara de moderação: se aprovar manualmente, mantenha uma rotina de revisão da fila para as avaliações não ficarem presas e invisíveis ao público.
- Configure o plugin de cache para excluir ou expirar rapidamente as páginas que exibem avaliações, evitando que notas novas fiquem escondidas atrás de HTML antigo.
- Mantenha o JetReviews, o JetEngine e o Elementor sempre na versão estável mais recente, validando antes em staging para acompanhar mudanças que afetam a renderização dos widgets.

Erros relacionados

- [Como corrigir o Listing Grid vazio no JetEngine](https://full.services/wp-fixer/corrigir-listing-grid-vazio-jetengine/)
- [Como corrigir os Custom Post Types do JetEngine que não aparecem no frontend](https://full.services/wp-fixer/corrigir-cpt-jetengine-nao-aparece-frontend/)
- [Como corrigir o Dynamic Visibility do JetEngine que não funciona com cache](https://full.services/wp-fixer/corrigir-dynamic-visibility-jetengine-cache/)

## Causa

- O widget de lista de avaliações do JetReviews não foi inserido no template do single ou do Listing Grid: sem o widget no local de exibição, as avaliações ficam no banco mas nada é renderizado no frontend.
- A moderação de avaliações está ligada nas configurações do JetReviews e as avaliações enviadas ficam com status pendente, aguardando aprovação manual antes de aparecerem para o público.
- Um plugin de cache de página (como WP Rocket ou LiteSpeed Cache) está servindo uma versão estática antiga do post, gerada antes da avaliação ser registrada, escondendo as notas mais recentes.
- O widget de avaliações está apontado para a fonte de dados ou o tipo de conteúdo errado (post atual versus um ID fixo), então ele busca avaliações de um objeto diferente do que está sendo exibido.
- Um conflito de JavaScript com outro plugin ou tema interrompe o script do JetReviews antes dele montar a lista, fazendo as avaliações enviadas por AJAX não renderizarem no carregamento.

## Como resolver

1. Confirme que o widget de avaliações está no template: Abra no Elementor o template do single ou o Listing Grid onde o post é exibido e verifique se o widget de lista de avaliações do JetReviews está presente. Sem o widget no local de exibição, as avaliações existem no banco mas não têm onde aparecer no frontend.

```
Painel WP -> Crocoblock -> Theme Builder (ou Elementor -> Templates)
Edite o template do single do tipo de post avaliado
Arraste o widget 'Reviews List' (Lista de Avaliações) do JetReviews para a área de conteúdo e publique
```

2. Verifique a moderação e aprove as avaliações pendentes: Se a moderação estiver ativa, as avaliações enviadas ficam pendentes e não aparecem até serem aprovadas. Revise as configurações do JetReviews e aprove o que estiver na fila para liberar a exibição no frontend.

```
Painel WP -> JetReviews -> Settings -> verifique a opção de moderação (Pre-moderation / Aprovar antes de publicar)
Painel WP -> JetReviews -> Reviews -> aprove as avaliações com status pendente
```

3. Limpe o cache da página e do navegador: Um cache de página antigo serve o HTML gerado antes da avaliação existir, escondendo as notas novas. Limpe o cache do plugin e do navegador e recarregue a página para ver a versão atualizada.

```
Painel WP -> seu plugin de cache (WP Rocket, LiteSpeed, W3 Total Cache) -> Limpar todo o cache
Se usar CDN (Cloudflare), faça o purge do cache da CDN
Recarregue a página com Ctrl+F5 (recarregamento forçado)
```

4. Cheque a fonte de dados do widget de avaliações: Abra as configurações do widget de avaliações no Elementor e confirme que a fonte está apontada para o post atual (current post), e não para um ID fixo ou outro tipo de conteúdo. Fonte errada faz o widget buscar avaliações de um objeto diferente do exibido.

```
Elementor -> selecione o widget de avaliações do JetReviews -> aba Content
Confirme a opção de fonte como 'Current Post' (Post Atual) para a página única
Salve e atualize o frontend para revalidar a exibição
```

5. Isole conflito de JavaScript no frontend: Se as avaliações ainda não carregam, desative os outros plugins um a um e troque para um tema padrão, recarregando a página a cada teste e observando o console do navegador. Assim você identifica o plugin ou tema que quebra o script do JetReviews.

```
Painel WP -> Plugins -> desative os demais plugins um a um
Painel WP -> Aparência -> Temas -> ative um tema padrão (ex.: Twenty Twenty-Four)
Abra o console do navegador (F12 -> Console) e recarregue a página a cada teste
```


## Código

```php
<?php
// Exclui as paginas que exibem avaliacoes do cache do WP Rocket,
// para o JetReviews sempre servir as notas mais recentes.
add_filter( 'rocket_cache_reject_uri', 'full_jetreviews_no_cache' );
function full_jetreviews_no_cache( $uris ) {
    // Ajuste o caminho ao tipo de post que recebe avaliacoes.
    $uris[] = '/produtos/(.*)';
    return $uris;
}
```

## Perguntas frequentes

### Por que minhas avaliações do JetReviews não aparecem no frontend

Na maioria dos casos o widget de lista de avaliações não está no template do post, as avaliações estão pendentes de moderação, ou um cache antigo está escondendo as notas. Confirme o widget no template, aprove a fila e limpe o cache para liberar a exibição.

### As avaliações estão presas na moderação do JetReviews

Sim, isso é comum quando a pré-moderação está ativa. As avaliações enviadas ficam pendentes e só aparecem depois de aprovadas. Vá em JetReviews, abra a lista de avaliações e aprove os itens pendentes, ou desligue a moderação se quiser publicação imediata.

### O cache faz o JetReviews não mostrar a avaliação nova

Pode fazer. Plugins de cache de página servem uma versão estática gerada antes da avaliação existir, escondendo a nota recém-enviada. Limpe o cache do plugin e da CDN após novas avaliações ou exclua as páginas de avaliação do cache.

### Preciso do JetEngine e do Elementor para o JetReviews funcionar

O JetReviews é parte do ecossistema Jet da Crocoblock e é usado com o Elementor para colocar os widgets de avaliação nos templates. Mantenha o Elementor ativo e atualizado, pois os widgets do JetReviews dependem dele para renderizar no frontend.

### Por que a nota média do JetReviews não atualiza

O resumo com a nota média costuma não atualizar por causa de cache ou de avaliações ainda pendentes. Aprove as avaliações na fila e limpe o cache da página e da CDN; a média é recalculada a partir das avaliações aprovadas e visíveis.

### O widget de avaliações some na página única mas aparece no editor

Isso indica fonte de dados errada ou ausência do widget no template real do single. Confirme que a fonte está em 'Current Post' e que o widget está no template do single aplicado ao tipo de post, e não apenas em uma página de exemplo.

### Como saber se o problema é do JetReviews ou de outro plugin

Desative os demais plugins um a um e troque para um tema padrão, recarregando a página e olhando o console do navegador a cada teste. Se as avaliações voltarem, reative os itens até identificar o que interrompe o script do JetReviews.

**Fonte:** [Crocoblock Knowledge Base — JetReviews](https://crocoblock.com/knowledge-base/jetreviews/)
