Skip to content

V2.6.2

Choose a tag to compare

@Assistouest Assistouest released this 17 Mar 14:11
· 3 commits to main since this release

fix: dashboard vide avec les permaliens bruts (plain)

Problème

Le dashboard admin affichait des KPI vides et aucune donnée sur les nouvelles installations WordPress utilisant les permaliens par défaut (mode brut ?p=123).

Le tracking fonctionnait correctement (les hits et sessions étaient bien enregistrés en base), mais toutes les requêtes REST du dashboard échouaient silencieusement.

Cause

Avec les permaliens bruts, rest_url() génère une URL contenant déjà un ? :

https://example.com/index.php?rest_route=/always-analytics/v1/

Les fonctions apiFetch() concaténaient ensuite un second ? pour les paramètres de requête :

.../index.php?rest_route=/always-analytics/v1/overview?from=2026-03-17&to=2026-03-17

Résultat : from, to et tous les paramètres étaient absorbés dans la valeur de rest_route au lieu d'être interprétés comme des query params séparés. WordPress ne reconnaissait pas la route → réponse vide ou 404.

Sur les sites avec des jolis permaliens (/wp-json/...), le ? était bien le premier séparateur et tout fonctionnait normalement, ce qui expliquait pourquoi le bug n'apparaissait que sur les nouvelles installations.

Correctif

Détection du séparateur approprié (& si l'URL contient déjà ?, sinon ?) dans les deux fichiers concernés :

admin/js/always-analytics-admin.js

-        fetch(API_BASE + endpoint + '?' + qs, {
+        var sep = API_BASE.indexOf('?') !== -1 ? '&' : '?';
+        fetch(API_BASE + endpoint + sep + qs, {

admin/js/always-analytics-engagement.js

-        fetch( API + endpoint + '?' + qs, {
+        var sep = API.indexOf('?') !== -1 ? '&' : '?';
+        fetch( API + endpoint + sep + qs, {

Impact

  • Corrige le dashboard vide sur toute installation avec permaliens bruts
  • Aucun impact sur les sites utilisant les jolis permaliens
  • Aucune modification côté PHP ou base de données