WordPress “An error occurred, please try again”: waarom de licentiecontrole van een plugin mislukt en hoe je de melding verwijdert

De WordPress-melding “An error occurred, please try again.” is een foutmelding die een premium-plugin bovenaan het beheerscherm toont wanneer hij zijn licentieserver om een controle vraagt en geen geldig antwoord krijgt. Op een server met deze melding is de plugin via de tekst opgespoord en is de melding met dezelfde plugin nagebootst door de antwoorden van de licentieserver te veranderen; de melding die na het herstel van de server nog een uur bleef staan, was op te lossen door de waarde van de wachttijd voor een nieuwe poging te verwijderen.

Essential Blocks Pro toont deze melding op elk beheerscherm, en hoelang de melding blijft staan, hangt ervan af of de licentieserver met een 503 of met HTML antwoordde.

De melding “An error occurred, please try again.” boven het berichtenoverzicht van WordPress

1️⃣ WordPress “An error occurred”: de plugin vinden die de melding toont

WordPress-beheerscherm – bovenaan dat scherm verschijnt de melding, waardoor die op een fout van WordPress zelf lijkt, maar in de kernbestanden van WordPress komt deze tekst niet voor. De tekst staat in de licentiecontrolecode van een plugin; zoek je in de pluginmap naar de tekst, dan vind je de plugin die de melding toont.

Let bij het zoeken op het verschil tussen komma en punt. De met een punt afgebroken versie [An error occurred. Please try again.] is een tekst van de WordPress-kern: als de widget [WordPress evenementen en nieuws] op het dashboard na het zoeken naar een stad geen evenementen kan laden, verschijnt die tekst in de widget en niet bovenaan het scherm.

De fout “An error occurred. Please try again.” in de widget WordPress evenementen en nieuws op het WordPress-dashboard

De kerntekst met [later] erachter wordt gebruikt wanneer een bestand dat je in de bestandseditor voor thema's of plugins hebt opgeslagen een fout geeft en wordt teruggezet, en in de Customizer. De kernteksten staan in het Nederlands in het vertaalbestand van WordPress, maar Essential Blocks Pro heeft alleen een vertaalbestand voor Braziliaans-Portugees, dus ook in een Nederlandstalig beheerscherm verschijnt de licentiemelding in het Engels.

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

Voer de opdracht uit in de installatiemap van WordPress; de mapnaam direct na wp-content/plugins in het gevonden pad is de plugin. Behalve in Essential Blocks Pro staat deze tekst ook in de licentiecontrolecode van Advanced Database Cleaner Pro en in de code van TranslatePress die de AI-API-sleutel controleert.

Krijg je meerdere resultaten, bekijk dan in de paginabron van het beheerscherm de klassenaam van het meldingsvak; de melding van Essential Blocks Pro gebruikt de klasse [essential-blocks-pro-notice].

2️⃣ Wanneer de melding verschijnt: 503- en HTML-antwoorden en time-outs

Telkens wanneer je een beheerscherm opent, kijkt Essential Blocks Pro of er opgeslagen licentiegegevens zijn en vraagt anders de licentieserver om een controle. Het diagram hieronder laat zien wat er gebeurde toen het beheerscherm werd geopend terwijl alleen het antwoord van de licentieserver werd veranderd.

🧭 Licentiecontrole en beheermelding
Uitlegdiagram
📡 Serverantwoord
🛠️ Na herstel van de server
🖥️ Beheerscherm
An error occurred, please try again.
cURL error 28
Geen melding
→bij elke keer openen
🧩 Licentiecontrole van de plugin
🔑 Licentiegegevens: 3 maanden📝 Opgeslagen fout⏳ Wachttijd tot nieuwe poging: 1 uur
⇄controleverzoek
✕geen verzoek
☁️ Licentieserver
503
200 · HTML
Geen antwoord 15 s
200 · JSON
Antwoordt de licentieserver met een 503, dan slaat de plugin de fout op, stelt hij een wachttijd van 1 uur in voor een nieuwe poging en verschijnt dezelfde melding op elk beheerscherm.
Ook als de licentieserver weer normaal werkt, stuurt de plugin tijdens de wachttijd van 1 uur geen controleverzoek, dus de opgeslagen melding blijft staan.
Is de antwoordcode 200 maar de inhoud HTML in plaats van JSON, dan wordt dezelfde melding opgeslagen; in dat geval wordt er geen wachttijd ingesteld.
Zonder wachttijd controleert de plugin opnieuw bij het volgende beheerscherm, en zodra er een geldig antwoord komt, wordt de opgeslagen melding verwijderd.
Komt er binnen 15 seconden geen antwoord, dan verandert de tekst van de melding in de cURL-foutmelding en wordt een wachttijd van 1 uur ingesteld.
Net als bij een 503 wordt er tijdens de wachttijd van 1 uur niet opnieuw gecontroleerd, dus de cURL-foutmelding blijft staan.
Bij een geldig antwoord worden de licentiegegevens 3 maanden opgeslagen en verschijnt er geen melding.
Zolang er opgeslagen licentiegegevens zijn, controleert de plugin niet opnieuw bij de licentieserver, dus ook bij een storing van de server verschijnt er geen melding.

Deze melding verschijnt bij antwoorden die geen 200 zijn, zoals een 503, en bij antwoorden met code 200 waarvan de inhoud HTML is in plaats van JSON. Komt er binnen 15 seconden geen antwoord of mislukt de verbinding zelf, dan toont de melding letterlijk de cURL-foutmelding die WordPress teruggeeft, dus in dat geval zie je een melding met een andere tekst.

Licentiegegevens die bij een geldig antwoord zijn opgeslagen, blijven 3 maanden bewaard; in die tijd stuurt de plugin ook bij een storing van de licentieserver geen controleverzoek, dus verschijnt er geen melding.

3️⃣ De melding verwijderen die na herstel van de server blijft staan

De melding verdwijnt niet meteen wanneer de licentieserver weer normaal werkt. Mislukt de controle door een 503 of een time-out, dan stelt de plugin een wachttijd van 1 uur in en stuurt hij in die tijd geen controleverzoek, waardoor de opgeslagen melding blijft staan.

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

De waarde is het tijdstip waarop de wachttijd afloopt (Unix-tijd), en de tekenreeks aan het eind van de optienaam is afgeleid van het adres van de licentieserver; bij dezelfde plugin is die dus op elke site gelijk.

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

Open na het verwijderen het berichtenoverzicht opnieuw: de plugin controleert dan weer bij de licentieserver en bij een geldig antwoord verdwijnt de melding. Duurt de storing van de licentieserver nog voort, dan krijgt de plugin opnieuw een 503 en worden dezelfde melding en een nieuwe wachttijd van 1 uur ingesteld; verwijder de optie dus pas als de licentieserver weer normaal werkt.

🔢 FAQ & aanbevolen content

Nee. De melding verschijnt alleen bovenaan beheerschermen en niet op pagina's die bezoekers zonder login openen.

Ja. Essential Blocks Pro controleert de gebruikersrechten niet wanneer het de licentiefoutmelding toont. Ook wanneer je het beheerscherm opent met de rol Auteur, die geen plugins mag beheren, verschijnt dezelfde melding.

Er verschijnt een andere tekst. Antwoordt de licentieserver dat de licentie verlopen is, dan verandert de melding in [Your Essential Blocks Pro license key expired on …]. In dat geval wordt er geen wachttijd van 1 uur ingesteld.

ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Laat zien dat je geen machine bent: 2   +   1   =