WordPress An error occurred : échec de la vérification de licence d'une extension et suppression de l'avis

L'avis WordPress « An error occurred, please try again. » est un avis d'erreur qu'une extension premium affiche en haut de l'administration quand elle demande une vérification à son serveur de licences sans recevoir de réponse valide. Sur un serveur où cet avis apparaissait, j'ai retrouvé l'extension grâce au texte, puis reproduit le problème avec la même extension en modifiant la réponse du serveur de licences : l'avis qui restait encore une heure après le rétablissement du serveur a disparu une fois supprimée la valeur d'attente avant nouvelle tentative.

Essential Blocks Pro affiche cet avis sur chaque écran d'administration, et la durée pendant laquelle il reste dépend de la réponse du serveur de licences : un 503 ou du HTML.

L'avis « An error occurred, please try again. » au-dessus de la liste des articles WordPress

1️⃣ WordPress An error occurred : trouver l'extension qui affiche l'avis

Administration WordPress : l'avis s'affiche en haut de cet écran, d'où l'impression d'une erreur de WordPress lui-même, mais ce texte ne figure pas dans les fichiers du cœur de WordPress. Il se trouve dans le code de vérification de licence de l'extension : en cherchant ce texte dans le dossier des extensions, vous trouvez l'extension qui affiche l'avis.

Quand vous cherchez le texte, distinguez la virgule du point. La version coupée par un point, [An error occurred. Please try again.], est un texte du cœur de WordPress : quand le widget [Évènements et nouveautés WordPress] du tableau de bord ne parvient pas à charger les évènements après la recherche d'une ville, il s'affiche dans le widget, et non en haut de l'écran.

L'erreur « An error occurred. Please try again. » dans le widget Évènements et nouveautés WordPress du tableau de bord

Le texte du cœur suivi de [later] sert quand un fichier enregistré dans l'éditeur de fichiers de thème ou d'extension provoque une erreur et est restauré, ainsi que dans l'écran de personnalisation. Les textes du cœur ont leur traduction française dans le fichier de traduction de WordPress, mais Essential Blocks Pro n'a pas de fichier de traduction français : même dans une administration en français, l'avis de licence s'affiche en anglais.

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

La commande s'exécute dans le dossier d'installation de WordPress ; dans le chemin du résultat, le nom du dossier qui suit wp-content/plugins est l'extension. Ce texte figure aussi, en plus d'Essential Blocks Pro, dans le code de vérification de licence d'Advanced Database Cleaner Pro et dans le code de vérification de la clé d'API IA de TranslatePress.

S'il y a plusieurs résultats, vérifiez le nom de classe de la boîte d'avis dans le code source de la page d'administration ; l'avis d'Essential Blocks Pro utilise la classe [essential-blocks-pro-notice].

2️⃣ Quand l'avis apparaît : réponse 503 ou HTML, et délai dépassé

À chaque ouverture de l'administration, Essential Blocks Pro vérifie s'il existe des informations de licence enregistrées et, sinon, demande une vérification au serveur de licences. Le diagramme ci-dessous montre le résultat de l'ouverture de l'administration en modifiant uniquement la réponse du serveur de licences.

🧭 Vérification de licence et avis d'administration
Schéma explicatif
📡 Réponse du serveur
🛠️ Après le rétablissement du serveur
🖥️ Administration
An error occurred, please try again.
cURL error 28
Aucun avis
→à chaque ouverture
🧩 Vérification de licence de l'extension
🔑 Informations de licence : 3 mois📝 Erreur enregistrée⏳ Attente avant nouvelle tentative : 1 heure
⇄Demande de vérification
✕aucune demande
☁️ Serveur de licences
503
200 · HTML
Pas de réponse 15 s
200 · JSON
Si le serveur de licences répond 503, l'extension enregistre l'erreur et fixe une attente d'une heure avant nouvelle tentative, et le même avis s'affiche sur chaque écran d'administration.
Même quand le serveur de licences répond de nouveau normalement, aucune demande de vérification n'est envoyée pendant l'heure d'attente : l'avis enregistré reste affiché.
Si le code de réponse est 200 mais que le contenu est du HTML au lieu de JSON, le même avis est enregistré ; dans ce cas, aucune attente avant nouvelle tentative n'est fixée.
Sans attente, la vérification se refait au prochain écran d'administration, et l'avis enregistré disparaît dès qu'une réponse valide arrive.
Sans réponse en 15 secondes, le texte de l'avis devient le message d'erreur cURL, et une attente d'une heure avant nouvelle tentative est fixée.
Comme pour le 503, aucune nouvelle vérification n'a lieu pendant l'heure d'attente : l'avis d'erreur cURL reste affiché.
Avec une réponse valide, les informations de licence sont enregistrées pour 3 mois, et aucun avis ne s'affiche.
Tant que des informations de licence sont enregistrées, l'extension ne revérifie pas auprès du serveur de licences : même en cas de panne du serveur, aucun avis ne s'affiche.

Cet avis apparaît pour les réponses autres que 200, comme un 503, et pour les réponses 200 dont le contenu est du HTML et non du JSON. Sans réponse en 15 secondes ou en cas d'échec de la connexion elle-même, le message d'erreur cURL renvoyé par WordPress s'affiche tel quel dans l'avis : on voit alors un avis au texte différent.

Les informations de licence enregistrées à partir d'une réponse valide sont conservées 3 mois ; pendant ce temps, aucune demande de vérification n'est envoyée même si le serveur de licences est en panne, et l'avis ne s'affiche pas.

3️⃣ Supprimer l'avis qui reste après le rétablissement du serveur

L'avis ne disparaît pas tout de suite quand le serveur de licences répond de nouveau normalement. Après un échec par 503 ou par délai dépassé, l'extension fixe une attente d'une heure avant nouvelle tentative et, pendant ce temps, n'envoie pas de demande de vérification : l'avis enregistré reste affiché.

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

La valeur est l'heure de fin de l'attente (en temps Unix), et la chaîne à la fin du nom de l'option est dérivée de l'adresse du serveur de licences : pour une même extension, elle est identique d'un site à l'autre.

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

Après la suppression, rouvrez la liste des articles : l'extension revérifie auprès du serveur de licences, et l'avis disparaît si la réponse est valide. Si la panne du serveur de licences continue, elle reçoit de nouveau un 503 et refixe le même avis et une heure d'attente : supprimez donc la valeur une fois le serveur de licences rétabli.

🔢 FAQ & contenus recommandés

Non. L'avis ne s'affiche qu'en haut de l'administration, et pas sur les pages ouvertes par des visiteurs non connectés.

Oui. Essential Blocks Pro ne vérifie pas les droits de l'utilisateur pour afficher l'avis d'erreur de licence. Même en ouvrant l'administration avec le rôle Auteur/autrice, sans droit de gérer les extensions, le même avis s'affiche.

Non, le texte est différent. Si le serveur de licences répond que la licence a expiré, l'avis devient [Your Essential Blocks Pro license key expired on …]. Dans ce cas, aucune attente d'une heure avant nouvelle tentative n'est fixée.

ℹ️ Mention d'affiliation
Le contenu de ce site contient des liens d'affiliation. Lorsqu'un visiteur achète un produit ou un service via l'un de ces liens, le site perçoit une commission du vendeur. Le montant payé par l'acheteur(il baisse lors des promotions ↓), lui, n'augmente pas. Les prix, remises et stocks indiqués correspondent à la date de rédaction et peuvent différer ; vérifiez-les donc auprès du vendeur avant d'acheter. Les produits sont choisis et évalués selon nos propres critères, et les commissions n'influencent ni l'ordre de présentation ni le contenu des évaluations.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Prouvez que vous êtes humain : 4   +   9   =