Como corrigir o erro do Business Hours no Ultimate Addons no WordPress
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.
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.
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
- 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 - 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 - 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) - 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) - 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
<?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
}
}














