Woo Total Menu v1.0.3
🔌 API REST CRUD complète /wtm/v1/menus
✅ Nouveautés principales
8 endpoints REST sous /wp-json/wtm/v1/menus
| Méthode | Endpoint | Description | Statut |
|---|---|---|---|
| GET | /wtm/v1/menus | Liste paginée avec filtres | 200 |
| GET | /wtm/v1/menus/{id} | Détail d'un menu | 200 |
| POST | /wtm/v1/menus | Création avec validation JSON | 201 + Location |
| PUT/PATCH | /wtm/v1/menus/{id} | Mise à jour partielle | 200 |
| DELETE | /wtm/v1/menus/{id} | Suppression | 200 |
| POST | /wtm/v1/menus/{id}/duplicate | Duplication | 201 + Location |
| GET | /wtm/v1/menus/schema | Schéma JSON complet | 200 |
Classe Schema_Validator
- Validation JSON pour _wtm_config, _wtm_header_config, _wtm_footer_config
- 6 types d'items autorisés : link, mega_container, column, widget, title, separator
- Validation récursive des enfants
- Codes d'erreur explicites (wtm_invalid_json, wtm_invalid_item_type, etc.)
Format de réponse propre (14 champs)
id, title, slug, status, menu_type, location, config (décodé), header_config (décodé), footer_config (décodé), version, date_created, date_modified, author, edit_url
Filtres disponibles sur la liste
- search (recherche plein texte)
- menu_type (horizontal/vertical/offcanvas/footer)
- location (primary/footer/sidebar/mobile)
- status (publish/draft/any)
- orderby (date/modified/title/id) + order (asc/desc)
- page + per_page (1-100)
🔒 Sécurité
- Toutes les routes vérifient la capacité wtm_manage_menus
- Sanitization dédiée pour chaque paramètre
- Invalidation du cache du menu après chaque écriture
- En-têtes X-WP-Total et X-WP-TotalPages sur la liste
📖 Exemples
Voir versions/v1.0.3.md pour des exemples curl complets