# Como corrigir o produto do WooCommerce com página em branco

O produto do WooCommerce com página em branco acontece quando a página de um produto abre totalmente vazia, sem texto, imagem ou botão de comprar. A causa quase sempre é um erro fatal de PHP silenciado, um template de produto ausente no tema, ou o limite de memória do PHP estourado ao renderizar a página.

## O que é o produto do WooCommerce com página em branco?

A página em branco do produto, também chamada de White Screen of Death, é quando o WooCommerce carrega a URL do produto mas não exibe nenhum conteúdo, deixando uma tela completamente vazia. Diferente de um erro 404, a página existe e responde, mas o PHP para de executar no meio da renderização: um erro fatal sem exibição de mensagem, um template quebrado ou falta de memória interrompem a montagem da página do produto.

## Como identificar

- A página do produto abre totalmente branca, sem cabeçalho, rodapé ou conteúdo.
- Outras páginas do site funcionam, mas só os produtos individuais ('single product') ficam em branco.
- No log (wp-content/debug.log ou no log do servidor) aparece 'PHP Fatal error' ou 'Allowed memory size exhausted'.
- Com o WP_DEBUG ativo surge a mensagem 'There has been a critical error on this website' no lugar da tela branca.

**Antes de começar:** Faça backup do site antes de editar o wp-config.php ou remover overrides de template. Mantenha o WP_DEBUG_DISPLAY desligado em produção: exibir erros de PHP em público revela caminhos do servidor a possíveis atacantes.

## Como prevenir

- Mantenha o WP_DEBUG_LOG ativo em staging para capturar erros fatais antes de publicar mudanças na loja
- Atualize WooCommerce, tema e plugins de produto em ambiente de testes antes de aplicar na loja ao vivo
- Revise os templates do WooCommerce em WooCommerce > Status a cada atualização para evitar overrides desatualizados

Erros relacionados

- [Como corrigir checkout do WooCommerce que não funciona](https://full.services/wp-fixer/corrigir-checkout-woocommerce-nao-funciona/)
- [Como corrigir variação de produto que não aparece no WooCommerce](https://full.services/wp-fixer/corrigir-variacao-produto-woocommerce/)
- [Como corrigir Add to cart que não funciona no WooCommerce](https://full.services/wp-fixer/corrigir-add-to-cart-woocommerce/)

## Causa

- Erro fatal de PHP em um plugin ou no tema disparado só no template de produto (single-product.php), com display_errors desligado.
- Template single-product.php ou content-single-product.php desatualizado ou ausente em um tema com override do WooCommerce.
- Limite de memória do PHP (memory_limit) baixo demais para renderizar a página do produto com galeria, variações e plugins ativos.
- Plugin de página de produto (galeria, avaliações, multi-idioma) incompatível com a versão atual do WooCommerce ou do PHP 8.
- Shortcode ou bloco quebrado na descrição do produto interrompendo a execução do PHP no meio da página.

## Como resolver

1. Ative o WP_DEBUG para ver o erro real: no wp-config.php, ative o modo de depuração com log para revelar a mensagem por trás da tela branca. O log apontará o arquivo e a linha exata do erro fatal.

```
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
```

2. Leia o debug.log: abra wp-content/debug.log e procure a linha 'PHP Fatal error'. Ela diz qual plugin, tema ou arquivo está quebrando a página do produto.
3. Teste com tema padrão e plugins desativados: ative um tema padrão (Storefront) e desative todos os plugins exceto o WooCommerce. Se o produto voltar a aparecer, reative um a um para encontrar o culpado.
4. Aumente o limite de memória do PHP: se o log mostrar 'Allowed memory size exhausted', aumente o memory_limit no wp-config.php para 256M e recarregue a página do produto.

```
define( 'WP_MEMORY_LIMIT', '256M' );
```

5. Cheque templates desatualizados: em WooCommerce > Status, role até Templates e veja se single-product ou content-single-product aparecem em vermelho. Atualize o tema ou remova o override antigo para usar o template padrão do WooCommerce.

## Código

```php
// functions.php do tema filho — registra no log se o template de produto
// do WooCommerce esta ausente, causa comum de pagina de produto em branco
add_action( 'template_redirect', function () {
    if ( function_exists( 'is_product' ) && is_product() ) {
        $template = wc_locate_template( 'single-product.php' );
        if ( ! file_exists( $template ) ) {
            error_log( 'WooCommerce: template single-product.php nao encontrado em ' . $template );
        }
    }
} );
```

## Perguntas frequentes

### A página do produto abre totalmente branca. Como descubro o motivo?

Ative o WP_DEBUG com WP_DEBUG_LOG no wp-config.php e recarregue o produto. O arquivo wp-content/debug.log vai registrar a linha 'PHP Fatal error' apontando o plugin, tema ou arquivo que está interrompendo a renderização.

### Só os produtos ficam em branco, o resto do site funciona. Por quê?

Isso indica um problema específico do template de produto: single-product.php ausente ou quebrado, um plugin que só atua na página de produto, ou um shortcode quebrado na descrição. Teste com tema padrão para confirmar se o culpado é o tema.

### A tela branca pode ser falta de memória do PHP?

Sim. Se o log mostra 'Allowed memory size exhausted', o PHP fica sem memória ao montar a página com galeria, variações e plugins. Aumente o WP_MEMORY_LIMIT para 256M no wp-config.php e teste de novo.

### Como ver o erro sem exibir mensagens para os visitantes?

Use WP_DEBUG_LOG como verdadeiro e WP_DEBUG_DISPLAY como falso. Assim o erro é gravado no debug.log para você ler, mas os clientes continuam vendo a página normal em vez de uma mensagem técnica de PHP.

### Atualizei o PHP para a versão 8 e os produtos ficaram em branco. O que houve?

Algum plugin de produto provavelmente é incompatível com o PHP 8 e dispara um erro fatal. Leia o debug.log para identificar o plugin, atualize-o ou substitua-o, e teste a página do produto novamente.

### Um template antigo do tema pode causar a página em branco?

Sim. Se o tema tem uma cópia desatualizada de single-product.php, ela pode chamar funções que não existem mais e quebrar a página. Verifique templates desatualizados em WooCommerce > Status e atualize o tema ou remova o override.

**Fonte:** [WooCommerce — Fixing the WooCommerce White Screen of Death](https://woocommerce.com/document/troubleshooting-the-white-screen-of-death/)
