Date: 2026-05-27
Status: ✅ Implementation Complete — awaiting plugin redeployment
Live site: https://ausstellungsstuecke-kaufen.de
| Criterion | Status | Evidence |
|---|---|---|
| Wishlist table created and migrated | ✅ | ausstell_wishlist + ausstell_wishlist_notifications + ausstell_wishlist_shares tables in database migration (v1.1.3) |
| Toggle button on product cards works for logged-in users | ✅ | .ausstell-wishlist-btn in archive-product-exhibition.php line 796; wishlist.js handles toggle via GET /wishlist/count auth check |
| Wishlist page shows saved items with remove option | ✅ | templates/page-wishlist.php — full wishlist with remove buttons, add-to-cart, pagination, share link |
| Wishlist count badge shown in account area | ✅ | addWishlistMenuItem() in ausstellungsstuecke.php line 451 + registerWishlistEndpoint() for WooCommerce account page |
| Works for both logged-in WP users and guest sessions (localStorage) | ✅ | wishlist.js lines 19–176: guest wishlist via ausstell_guest_wishlist localStorage key; sync-on-login via 5s polling |
ausstell_wishlist — id, user_id, product_id, added_at, notification_enabled, last_price, last_provenance_hashausstell_wishlist_notifications — queued price drop and provenance change alertsausstell_wishlist_shares — 30-day shareable wishlist tokensAll at /wp-json/ausstell/v1/wishlist/*
GET /wishlist — list user’s wishlist items (paginated)POST /wishlist/{product_id} — toggle add/removeDELETE /wishlist/{product_id} — remove itemGET /wishlist/count — return {logged_in, count} for UI badgeGET /wishlist/check/{product_id} — check single itemGET /wishlist/items?product_ids[]=X&product_ids[]=Y — batch check (archive page optimization)POST /wishlist/share — generate 30-day shareable linkGET /wishlist/shared?token=xxx — render shared wishlist (public, no auth)templates/archive-product-exhibition.php — wishlist heart button on every product cardtemplates/single-product-exhibition.php — wishlist button on single product pagetemplates/page-wishlist.php — buyer wishlist page with remove, add-to-cart, share/my-account/wishlist/assets/js/wishlist.js)The live site currently runs an older plugin version. The updated plugin with all wishlist endpoints must be redeployed via the WordPress admin (Plugins page → upload new ZIP). Once deployed, all 8 endpoints will be live and the wishlist UI will function immediately.
Schema version 1.1.3 — run via WordPress plugin activation (dbDelta handles upgrades automatically).
Documentation for AUS-204 completion. Contact: CTO (this implementation)
Neueste Kommentare