WordPress “An error occurred, please try again”: perché la verifica della licenza del plugin non riesce e come rimuovere l'avviso

L'avviso di WordPress “An error occurred, please try again.” è un avviso di errore che un plugin premium mostra in cima all'area di amministrazione quando chiede una verifica al proprio server delle licenze e non riceve una risposta valida. Su un server con questo avviso il plugin è stato individuato tramite il testo e, con lo stesso plugin, l'avviso è stato riprodotto modificando le risposte del server delle licenze; l'avviso che resta per 1 ora anche dopo il ripristino del server si è risolto eliminando il valore di attesa prima di riprovare.

Essential Blocks Pro mostra questo avviso in ogni schermata di amministrazione, e quanto a lungo resta dipende dal fatto che il server delle licenze abbia risposto con un 503 o con HTML.

L'avviso “An error occurred, please try again.” sopra l'elenco degli articoli di WordPress

1️⃣ WordPress “An error occurred”: trovare il plugin che mostra l'avviso

Area di amministrazione di WordPress — l'avviso compare in cima a questa schermata, quindi sembra un errore di WordPress stesso, ma nei file del core di WordPress questo testo non c'è. Il testo si trova nel codice di verifica della licenza di un plugin: cercandolo nella cartella dei plugin trovi il plugin che ha mostrato l'avviso.

Quando cerchi il testo, distingui la virgola dal punto. La versione spezzata dal punto, [An error occurred. Please try again.], è un testo del core di WordPress: se il widget [Eventi e notizie su WordPress] della Bacheca non riesce a caricare gli eventi dopo la ricerca di una città, compare dentro il widget e non in cima alla schermata.

L'errore “An error occurred. Please try again.” nel widget Eventi e notizie su WordPress della Bacheca

Il testo del core con [later] alla fine si usa quando un file salvato nell'editor dei file del tema o del plugin genera un errore e viene ripristinato, e nella schermata Personalizza. I testi del core sono tradotti in italiano nel file di traduzione di WordPress, ma Essential Blocks Pro ha un file di traduzione solo per il portoghese brasiliano, quindi anche in un'area di amministrazione in italiano l'avviso della licenza compare in inglese.

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

Esegui il comando nella cartella di installazione di WordPress: nel percorso del risultato, il nome della cartella subito dopo wp-content/plugins è il plugin. Oltre che in Essential Blocks Pro, questo testo si trova anche nel codice di verifica della licenza di Advanced Database Cleaner Pro e nel codice di TranslatePress che verifica la chiave API dell'IA.

Se i risultati sono più di uno, controlla il nome della classe del riquadro dell'avviso nel sorgente della pagina di amministrazione; l'avviso di Essential Blocks Pro usa la classe [essential-blocks-pro-notice].

2️⃣ Quando compare l'avviso: risposte 503 e HTML e timeout

Ogni volta che si apre una schermata di amministrazione, Essential Blocks Pro controlla se ci sono dati della licenza salvati e, se mancano, chiede una verifica al server delle licenze. Il diagramma qui sotto mostra il risultato dell'apertura dell'area di amministrazione cambiando solo la risposta del server delle licenze.

🧭 Verifica della licenza e avviso di amministrazione
Diagramma esplicativo
📡 Risposta del server
🛠️ Dopo il ripristino del server
🖥️ Area di amministrazione
An error occurred, please try again.
cURL error 28
Nessun avviso
→a ogni apertura
🧩 Verifica della licenza del plugin
🔑 Dati della licenza: 3 mesi📝 Errore salvato⏳ Attesa prima di riprovare: 1 ora
⇄richiesta di verifica
✕nessuna richiesta
☁️ Server delle licenze
503
200 · HTML
Nessuna risposta 15 s
200 · JSON
Se il server delle licenze risponde con un 503, il plugin salva l'errore, imposta un'attesa di 1 ora prima di riprovare e lo stesso avviso compare in ogni schermata di amministrazione.
Anche quando il server delle licenze torna a funzionare, durante l'ora di attesa non viene inviata nessuna richiesta di verifica, quindi l'avviso salvato resta com'è.
Se il codice di risposta è 200 ma il corpo è HTML invece di JSON, viene salvato lo stesso avviso; in questo caso non viene impostata nessuna attesa prima di riprovare.
Senza attesa, il plugin ricontrolla alla schermata di amministrazione successiva e, quando arriva una risposta valida, l'avviso salvato viene eliminato.
Se non arriva una risposta entro 15 secondi, il testo dell'avviso diventa il messaggio di errore di cURL e viene impostata un'attesa di 1 ora prima di riprovare.
Come con il 503, durante l'ora di attesa non viene fatto un nuovo controllo, quindi l'avviso di errore di cURL resta.
Con una risposta valida, i dati della licenza vengono salvati per 3 mesi e l'avviso non compare.
Finché ci sono dati della licenza salvati, il plugin non ricontrolla con il server delle licenze, quindi l'avviso non compare nemmeno se il server ha un guasto.

Questo avviso compare con le risposte diverse da 200, come un 503, e con le risposte 200 il cui corpo è HTML invece di JSON. Se entro 15 secondi non arriva risposta o fallisce la connessione stessa, l'avviso mostra così com'è il messaggio di errore di cURL restituito da WordPress, quindi in quel caso vedrai un avviso con un testo diverso.

I dati della licenza salvati da una risposta valida restano per 3 mesi; in questo periodo non viene inviata nessuna richiesta di verifica anche se il server delle licenze ha un guasto, quindi l'avviso non compare.

3️⃣ Eliminare l'avviso che resta dopo il ripristino del server

L'avviso non sparisce subito quando il server delle licenze torna a funzionare. Se la verifica fallisce per un 503 o per un timeout, il plugin imposta un'attesa di 1 ora prima di riprovare e, in quel periodo, non invia richieste di verifica e continua a mostrare l'avviso salvato.

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

Il valore è l'ora in cui finisce l'attesa (tempo Unix), e la stringa alla fine del nome dell'opzione è ricavata dall'indirizzo del server delle licenze, quindi con lo stesso plugin è uguale anche su siti diversi.

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

Dopo l'eliminazione, riapri l'elenco degli articoli: il plugin ricontrolla con il server delle licenze e, se arriva una risposta valida, l'avviso sparisce. Se il guasto del server delle licenze è ancora in corso, riceve di nuovo un 503 e vengono impostati di nuovo lo stesso avviso e un'altra ora di attesa, quindi elimina il valore solo dopo che il server delle licenze è tornato a funzionare.

🔢 FAQ & contenuti consigliati

No. L'avviso compare solo in cima alle schermate di amministrazione e non nelle pagine aperte dai visitatori non connessi.

Sì. Essential Blocks Pro non controlla i permessi dell'utente quando mostra l'avviso di errore della licenza. Anche aprendo l'area di amministrazione con il ruolo Autore, che non può gestire i plugin, compare lo stesso avviso.

Compare un testo diverso. Se il server delle licenze risponde con lo stato di scaduta, l'avviso diventa [Your Essential Blocks Pro license key expired on …]. In questo caso non viene impostata l'attesa di 1 ora prima di riprovare.

ℹ️ Informativa sull'affiliazione
I contenuti di questo sito includono link di affiliazione. Se un visitatore acquista un prodotto o un servizio tramite uno di questi link, il sito riceve una commissione dal venditore. In questo processo l'importo pagato dall'acquirente (durante le promozioni l'importo scende↓) non aumenta. Prezzi, sconti e disponibilità indicati si riferiscono al momento della stesura e possono differire da quelli reali: prima di acquistare verifica sempre presso il venditore. I prodotti vengono scelti e valutati secondo criteri propri, e le commissioni non influiscono sull'ordine di presentazione né sul contenuto delle valutazioni.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Dimostra di essere umano: 7   +   9   =