Skip to content

v1.7.0 — Menus conditionnels + Analytics simple

Latest

Choose a tag to compare

@georgyfr georgyfr released this 25 Jun 18:50
· 8 commits to main since this release

🎯 v1.7.0 — Menus conditionnels + Analytics simple

Cette version finalise la roadmap initiale du plugin en livrant les deux dernières fonctionnalités majeures attendues.

✨ Nouveautés

1. Menus conditionnels

  • 10 types de règles : page_type, post_id, post_type, taxonomy, user_state, user_role, device, date_range, url_param, language
  • Logique ET/OU avec court-circuit
  • Méta _wtm_conditions sur le CPT wtm_menu (copiée dans les révisions WordPress)
  • 4 routes REST sous /wtm/v1/menus/{id}/conditions (GET/PUT/DELETE/test)
  • Panneau Builder React avec testeur live (évalue les conditions contre la requête courante)
  • Intégration native dans Location_Interceptor et Header_Footer_Injector : si les conditions ne matchent pas, le menu/header/footer ne s'affiche pas

2. Analytics simple (privacy-friendly)

  • Aucune donnée personnelle collectée (pas d'IP, pas d'user ID, pas de cookie) — conforme RGPD/CCPA sans bannière de consentement
  • Compteurs agrégés par jour stockés dans des options WordPress
  • 3 types d'événements : view, click, hover
  • 2 routes REST : POST /wtm/v1/analytics/track (public, nonce-gated) + GET /wtm/v1/analytics/stats (admin-only)
  • Tracking JS frontend via navigator.sendBeacon pour les clics (survit à la navigation)
  • Page dashboard /wp-admin/admin.php?page=wtm-analytics avec chart HTML/CSS pur (pas de dépendance JS)

🔧 Hooks développeur

  • wtm_condition_result (filter) — surcharge du résultat final d'évaluation
  • wtm_condition_rule_{type} (filter) — évaluation de types de règles custom
  • wtm_analytics_recorded (action) — déclenché après chaque événement enregistré

📦 Détails

  • 6 nouveaux fichiers PHP (~1270 lignes)
  • 1 nouveau composant React (~280 lignes)
  • 85 lignes ajoutées au JS frontend
  • Build webpack recompilé (build/index.js 158 KiB)
  • 6 nouvelles routes REST
  • Compatible PHP 7.4+ et WordPress 6.4+

Voir versions/v1.7.0.md pour la documentation complète.