# Como corrigir o erro do Business Hours no Ultimate Addons no WordPress

O erro do Business Hours no Ultimate Addons aparece quando o widget de horario de funcionamento não carrega no editor, destaca o dia errado como aberto ou exibe horarios diferentes dos configurados, quase sempre por fuso horario do WordPress incorreto, cache antigo ou conflito de JavaScript.

## O que é erro do Business Hours no Ultimate Addons?

O Business Hours e um widget do Ultimate Addons for Elementor (UAE) que exibe o horario de funcionamento semanal do negocio em formato de lista, tabela ou grade. Segundo a documentação oficial do UAE, ele permite renomear os dias, ajustar ou marcar horarios como fechado, criar sobreposicoes por dia, adicionar horarios especiais de feriado e destacar o status de aberto no dia atual. O destaque do dia atual depende da data e da hora que o WordPress considera correta, ou seja, do fuso horario configurado no site.

O erro do Business Hours no Ultimate Addons acontece quando essa exibicao falha de três formas tipicas: o widget some do editor ou da página (problema de carregamento do UAE), o dia destacado como aberto não corresponde ao dia real (fuso horario do WordPress errado) ou o horario mostrado difere do que foi configurado (cache servindo HTML antigo). Como o widget e renderizado pelo servidor, esses sintomas raramente vem de um bug do próprio widget e quase sempre de configuração do ambiente: fuso, cache, CSS de tema ou conflito de script.

## Como identificar

- O widget Business Hours não aparece na lista do painel de widgets do Elementor (busca por 'Business Hours' não retorna nada) mesmo com o Ultimate Addons ativo.
- O dia destacado como aberto no widget não corresponde ao dia atual real, por exemplo destaca segunda-feira sendo terca-feira no negocio.
- Os horarios exibidos na página são diferentes dos que foram salvos no editor do Business Hours após uma edição recente.
- A área do widget aparece em branco ou sem estilo no frontend, enquanto no editor do Elementor a previa parece correta.
- No console do navegador surge um erro de JavaScript do Elementor logo ao carregar a página que contem o widget Business Hours.

**Antes de começar:** Antes de alterar fuso horario, limpar cache ou desativar plugins de otimização em producao, faca um backup completo do site (arquivos e banco de dados) ou teste primeiro em um ambiente de staging, para poder reverter caso o layout da página quebre.

## Como prevenir

- Defina o fuso horario do WordPress pela cidade do negocio logo na configuração do site, para que o destaque de dia e o status de aberto do Business Hours fiquem sempre corretos.
- Ative no Ultimate Addons apenas os widgets que você usa, mas documente que o Business Hours precisa ficar ligado para não sumir do inserter sem querer.
- Sempre limpe o cache do site e regenere o CSS do Elementor depois de editar horarios, para evitar que a página sirva uma versão antiga.
- Ao ativar minificacao ou combinacao de JavaScript, valide as páginas com widgets do Ultimate Addons antes de publicar, evitando que a otimização quebre o script do Elementor.

Erros relacionados

- [Como corrigir o Ultimate Addons que não carrega widgets no Elementor](https://full.services/wp-fixer/corrigir-widgets-nao-carregam-ultimate-addons/)
- [Como corrigir o conflito de JavaScript entre Ultimate Addons e WP Rocket](https://full.services/wp-fixer/corrigir-conflito-js-ultimate-addons-wp-rocket/)
- [Como corrigir o erro do Content Toggle no Ultimate Addons](https://full.services/wp-fixer/corrigir-content-toggle-ultimate-addons/)

## Causa

- O fuso horario do WordPress em Configurações -> Geral esta errado ou em UTC neutro em vez do fuso da cidade do negocio, fazendo o destaque do dia atual e o status de aberto calcularem o dia errado.
- Um plugin de cache (como o WP Rocket) esta servindo uma versão HTML antiga da página, entao os horarios atualizados no editor do Business Hours não aparecem até o cache ser limpo.
- Os assets do Ultimate Addons não estão carregando porque o widget Business Hours esta desativado na aba UAE do painel do Elementor (Elementor -> Settings -> Ultimate Addons), entao ele nem aparece no inserter.
- A minificacao ou combinacao de JavaScript (no WP Rocket ou em Perfmatters) quebra o script do Elementor que monta o widget, deixando a área do Business Hours em branco no frontend.
- Uma regra de CSS do tema (por exemplo Astra Pro) sobrescreve o estilo do widget, removendo o destaque visual do dia aberto ou colapsando o layout de tabela do horario.

## Como resolver

1. Corrija o fuso horario do WordPress: Em Configurações Geral, defina a cidade do fuso horario do negocio em vez de um deslocamento UTC fixo. O destaque do dia atual e o status de aberto do Business Hours usam a hora local do WordPress, entao um fuso errado destaca o dia ou o horario errado.

```
Painel WP -> Configurações -> Geral
No campo Fuso horario, escolha a cidade correta (ex.: São Paulo) e não um UTC fixo
Salve as alterações e recarregue a página com o widget
```

2. Confirme se o widget esta ativo no Ultimate Addons: Se o Business Hours não aparece no inserter do Elementor, verifique se ele não foi desativado na lista de widgets do UAE. O Ultimate Addons permite ligar e desligar widgets individualmente para economizar recursos.

```
Painel WP -> Elementor -> Settings -> aba Ultimate Addons (ou UAE)
Localize 'Business Hours' na lista de widgets e marque como ativo
Salve e recarregue o editor do Elementor
```

3. Limpe o cache do site e do Elementor: Se o horario exibido na página não bate com o que foi salvo no editor, o cache esta servindo HTML antigo. Limpe o cache do plugin de cache e regenere o CSS do Elementor para forcar a página a refletir a configuração atual.

```
Painel WP -> WP Rocket -> Limpar cache (ou o equivalente do seu plugin)
Painel WP -> Elementor -> Ferramentas -> Regenerar Arquivos & Dados
Recarregue a página sem cache (Ctrl + F5)
```

4. Desligue minificacao de JS para isolar conflito: Se a área do Business Hours aparece em branco no frontend mas correta no editor, a otimização de JavaScript pode estar quebrando o script do Elementor. Desative a minificacao e a combinacao de JS temporariamente e recarregue para confirmar a causa.

```
Painel WP -> WP Rocket -> aba Arquivos -> desmarque Minificar arquivos JavaScript e Combinar arquivos JavaScript
Se usar Perfmatters, desligue também a otimização de scripts para a página
Limpe o cache e recarregue a página conferindo o console do navegador (F12)
```

5. Teste conflito de tema e plugins: Se o widget ainda falhar, isole o culpado: troque para um tema padrão e desative os demais plugins um a um, recarregando a página a cada teste. Isso identifica um CSS de tema (como o Astra Pro) ou um plugin que sobrescreve ou quebra o widget.

```
Painel WP -> Aparencia -> Temas -> ative um tema padrão (ex.: Hello Elementor)
Painel WP -> Plugins -> desative os demais plugins um a um, mantendo Elementor e Ultimate Addons
Recarregue a página a cada teste até identificar o item que quebra o Business Hours
```


## Código

```php
<?php
// Garante que o WordPress use o fuso horario do negocio ao calcular
// o dia/horario atual que o widget Business Hours destaca.
// Cole no functions.php do tema filho ou em um plugin de snippets.
add_action( 'init', 'full_force_business_timezone' );
function full_force_business_timezone() {
    // Use o identificador da sua cidade (ex.: America/Sao_Paulo).
    $tz = 'America/Sao_Paulo';
    if ( get_option( 'timezone_string' ) !== $tz ) {
        update_option( 'timezone_string', $tz );
        update_option( 'gmt_offset', '' ); // limpa o offset UTC fixo
    }
}
```

## Perguntas frequentes

### Por que o Business Hours do Ultimate Addons destaca o dia errado

Quase sempre o fuso horario do WordPress esta errado. O destaque do dia atual e o status de aberto usam a hora local do site, entao defina a cidade correta em Configurações -> Geral, no campo Fuso horario, em vez de um UTC fixo, e recarregue a página.

### O widget Business Hours sumiu da lista do Elementor, o que fazer

Verifique se ele não foi desativado na aba do Ultimate Addons em Elementor -> Settings. O UAE permite ligar e desligar widgets individualmente; marque o Business Hours como ativo, salve e recarregue o editor para ele voltar ao inserter.

### Por que o horario que salvei não aparece atualizado na página

O cache esta servindo HTML antigo. Limpe o cache do seu plugin de cache, regenere os arquivos do Elementor em Ferramentas e recarregue a página sem cache. Após isso o widget reflete os horarios que você salvou no editor.

### O Business Hours aparece em branco no frontend mas certo no editor

Isso indica que a minificacao ou combinacao de JavaScript quebrou o script do Elementor. Desative a otimização de JS no WP Rocket ou Perfmatters, limpe o cache e recarregue. Se voltar a funcionar, exclua a página ou os scripts do Elementor da otimização.

### Como faco o Business Hours mostrar quando o negocio esta aberto agora

Configure os horarios de cada dia no widget e marque os dias fechados, conforme a documentação do UAE. Com o fuso horario do WordPress correto, o widget destaca o status de aberto no dia atual automaticamente, pois o calculo usa a hora local do site.

### Da para definir horarios diferentes ou feriados no Business Hours

Sim. A documentação do Ultimate Addons descreve renomear dias, adicionar vários intervalos de horario, criar sobreposicoes por dia e destacar feriados ou horarios especiais com estilo próprio, tudo dentro das configurações do widget.

### O estilo do Business Hours quebrou depois de trocar o tema

Um CSS do tema, como o Astra Pro, pode sobrescrever o estilo do widget. Teste com um tema padrão como o Hello Elementor para confirmar; se normalizar, ajuste o CSS conflitante ou aumente a especificidade do estilo do Business Hours.

**Fonte:** [Ultimate Addons for Elementor — Business Hours Widget (documentacao oficial)](https://ultimateelementor.com/widgets/business-hours/)
