WordPress “An error occurred, please try again”: por que a verificação de licença do plugin falha e como remover o aviso

O aviso do WordPress “An error occurred, please try again.” é um aviso de erro que um plugin premium mostra no topo do painel quando pede uma verificação ao servidor de licenças e não recebe uma resposta válida. Em um servidor com esse aviso, o plugin foi encontrado pelo texto e, com o mesmo plugin, o aviso foi reproduzido alterando as respostas do servidor de licenças; o aviso que continua por 1 hora mesmo depois que o servidor se recupera foi resolvido apagando o valor de espera para nova tentativa.

O Essential Blocks Pro mostra esse aviso em todas as telas do painel, e o tempo que ele fica depende de o servidor de licenças ter respondido com um 503 ou com HTML.

O aviso “An error occurred, please try again.” acima da lista de posts do WordPress

1️⃣ WordPress “An error occurred”: como encontrar o plugin que exibiu o aviso

Painel de administração do WordPress — o aviso aparece no topo dessa tela, por isso parece um erro do próprio WordPress, mas esse texto não existe nos arquivos do núcleo do WordPress. O texto fica no código de verificação de licença de um plugin; buscando-o na pasta de plugins, você encontra o plugin que exibiu o aviso.

Ao buscar o texto, diferencie a vírgula do ponto. A versão cortada por um ponto, [An error occurred. Please try again.], é um texto do núcleo do WordPress: quando o widget [Novidades e eventos do WordPress] do Painel não consegue carregar os eventos depois da busca por uma cidade, ela aparece dentro do widget, e não no topo da tela.

O erro “An error occurred. Please try again.” no widget Novidades e eventos do WordPress, no Painel

A string do núcleo com [later] no final é usada quando um arquivo salvo no editor de arquivos de tema ou de plugin gera um erro e é revertido, e na tela Personalizar. As strings do núcleo vêm traduzidas no arquivo de tradução em português do WordPress, e o Essential Blocks Pro também traz um arquivo de tradução pt_BR, no qual o aviso de licença está traduzido como [Ocorreu um erro, tente novamente.]; para outros idiomas o plugin não tem arquivo de tradução, e o aviso aparece em inglês.

grep -rl 'An error occurred, please try again' wp-content/plugins --include=*.php
wp-content/plugins/essential-blocks-pro/includes/Deps/WPDeveloper/Licensing/Manager.php

Execute o comando na pasta de instalação do WordPress; no caminho do resultado, o nome da pasta logo depois de wp-content/plugins é o plugin. Além do Essential Blocks Pro, esse texto também aparece no código de verificação de licença do Advanced Database Cleaner Pro e no código do TranslatePress que verifica a chave da API de IA.

Se houver vários resultados, confira o nome da classe da caixa de aviso no código-fonte da página do painel; o aviso do Essential Blocks Pro usa a classe [essential-blocks-pro-notice].

2️⃣ Quando o aviso aparece: respostas 503 e HTML e tempo esgotado

Toda vez que uma tela do painel é aberta, o Essential Blocks Pro verifica se há dados de licença salvos e, se não houver, pede uma verificação ao servidor de licenças. O diagrama abaixo mostra o que aconteceu ao abrir o painel mudando apenas a resposta do servidor de licenças.

🧭 Verificação de licença e aviso no painel
Diagrama explicativo
📡 Resposta do servidor
🛠️ Depois que o servidor se recupera
🖥️ Painel
An error occurred, please try again.
cURL error 28
Sem aviso
→a cada abertura
🧩 Verificação de licença do plugin
🔑 Dados da licença: 3 meses📝 Erro salvo⏳ Espera para nova tentativa: 1 hora
⇄pedido de verificação
✕sem pedido
☁️ Servidor de licenças
503
200 · HTML
Sem resposta 15 s
200 · JSON
Se o servidor de licenças responder com um 503, o plugin salva o erro, define uma espera de 1 hora para nova tentativa, e o mesmo aviso aparece em todas as telas do painel.
Mesmo que o servidor de licenças volte ao normal, nenhum pedido de verificação é enviado durante a espera de 1 hora, e o aviso salvo continua lá.
Se o código de resposta for 200, mas o corpo for HTML em vez de JSON, o mesmo aviso é salvo; nesse caso, não se define espera para nova tentativa.
Sem espera, o plugin verifica de novo na próxima tela do painel e, quando chega uma resposta válida, o aviso salvo é apagado.
Se não houver resposta em 15 segundos, o texto do aviso passa a ser a mensagem de erro do cURL, e é definida uma espera de 1 hora para nova tentativa.
Como no 503, não há nova verificação durante a espera de 1 hora, e o aviso de erro do cURL continua.
Ao receber uma resposta válida, os dados da licença ficam salvos por 3 meses e nenhum aviso aparece.
Enquanto houver dados de licença salvos, o plugin não consulta de novo o servidor de licenças, então nenhum aviso aparece mesmo se o servidor estiver com falha.

Esse aviso aparece em respostas diferentes de 200, como um 503, e em respostas 200 cujo corpo é HTML em vez de JSON. Se não houver resposta em 15 segundos ou se a própria conexão falhar, a mensagem de erro do cURL devolvida pelo WordPress aparece no aviso tal como está, então nesse caso você verá um aviso com outro texto.

Os dados de licença salvos a partir de uma resposta válida ficam guardados por 3 meses; nesse período, nenhum pedido de verificação é enviado mesmo se o servidor de licenças estiver com falha, e o aviso não aparece.

3️⃣ Como apagar o aviso que continua depois que o servidor se recupera

O aviso não some na hora quando o servidor de licenças volta ao normal. Quando a verificação falha por um 503 ou por tempo esgotado, o plugin define uma espera de 1 hora para nova tentativa e, nesse período, não envia pedido de verificação e continua mostrando o aviso salvo.

wp option list --search='wpdeveloper_sl_failed_http_*'
option_name	option_value
wpdeveloper_sl_failed_http_7838117baf19d8c92e668c95a04a2642	1792071902

O valor é o horário em que a espera termina (tempo Unix), e a sequência no fim do nome da opção é gerada a partir do endereço do servidor de licenças; por isso, no mesmo plugin, ela é igual em qualquer site.

wp option delete wpdeveloper_sl_failed_http_7838117baf19d8c92e668c95a04a2642
Success: Deleted 'wpdeveloper_sl_failed_http_7838117baf19d8c92e668c95a04a2642' option.

Depois de apagar, abra de novo a lista de posts: o plugin consulta outra vez o servidor de licenças e, se vier uma resposta válida, o aviso some. Se a falha do servidor de licenças ainda continuar, ele recebe outro 503 e o mesmo aviso e uma nova espera de 1 hora são definidos; por isso, apague o valor só depois que o servidor de licenças voltar ao normal.

🔢 FAQ & conteúdo recomendado

Não. O aviso aparece só no topo das telas do painel e não aparece nas páginas abertas por visitantes que não fizeram login.

Sim. O Essential Blocks Pro não verifica as permissões do usuário ao mostrar o aviso de erro de licença. Mesmo abrindo o painel com a função Autor, que não pode gerenciar plugins, o mesmo aviso aparece.

Aparece outro texto. Quando o servidor de licenças responde com o status de expirada, o aviso muda para [Your Essential Blocks Pro license key expired on …]. Nesse caso, não se define a espera de 1 hora para nova tentativa.

ℹ️ Aviso de afiliados
O conteúdo deste site contém links de afiliados. Quando um visitante compra um produto ou serviço por meio de um desses links, o site recebe uma comissão do vendedor. O valor que o comprador paga (em promoções, ele diminui ↓) não aumenta por causa disso. Preços, descontos e informações de estoque valem para o momento em que o texto foi escrito e podem ter mudado, por isso confirme com o vendedor antes de comprar. Os produtos são escolhidos e avaliados por critérios próprios, e o recebimento de comissão não influencia a ordem de apresentação nem o conteúdo das avaliações.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Demonstre sua humanidade: 6   +   3   =