598 B
598 B
ADR 002 – REST API as Primary for AJAX
Status: Accepted
Context
Search/filter/wishlist/compare/Q&A need async endpoints. admin-ajax.php is uncacheable and fires admin_init. REST is cache-friendly and has permission_callback.
Decision
- REST (
xshop/v1/*) for search, filter, wishlist, compare, Q&A. - Keep
admin-ajaxonly where WC core expects it (cart fragments/mini-cart) or as fallback.
Consequences
- Requires nonce via
X-WP-Nonce+ localizedwpApiSettingsor customxshopData.nonce. - Better compatibility with caching plugins; clearer permission model.