=== Winevizer ===
Contributors: winevizer
Tags: wine, menu, restaurant, winelist, winecard
Requires at least: 5.8
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.3.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Display your Winevizer digital wine card on your WordPress site via a shortcode, a Gutenberg block or a classic widget.

== Description ==

**Your wine list, on your own website, always up to date.**

[Winevizer](https://www.winevizer.com) is a digital wine list and drinks menu for restaurants, wine bars and wine shops. This plugin displays that list on your WordPress site, so your guests read it where they already are — on your pages, not at someone else's address.

**One place to change a price.** You edit your wine list in Winevizer, and it updates everywhere at once: the version guests scan by QR code at the table, the tablet in the dining room, the printable PDF, and the page on your website. There is never a second version to remember, so there is never a forgotten one.

**Your wines become findable.** Displayed as part of your page rather than inside a frame, your references are read by search engines like the rest of your site. A guest searching for a producer you carry can land on your restaurant.

= Four ways to present your wine list =

Each suits a different site, and you can change your mind at any time from the settings.

* **Full list, inside your page (recommended)** — the list is built by Winevizer and placed directly in your page, so it reads as part of your site and search engines index the wines. Nothing to load, nothing to click.
* **Visual browse by colour** — your guest picks a colour, then a bottle, then its detail. Also built into your page, and the most engaging on a phone.
* **Interactive wine list** — the full Winevizer experience, including search and the virtual sommelier, embedded in your page.
* **Printable PDF** — your existing PDF wine menu, embedded. The simplest if your list rarely changes.

= Three ways to place it on a page =

* a **shortcode**, `[winevizer]`, to paste anywhere in a post or page
* a **Gutenberg block**, "Carte Winevizer", in the block editor
* a **classic widget**, for a sidebar or a footer

All three follow one global configuration, so there is nothing to set again on each page.

= Setting up =

A few minutes and no technical knowledge: enter the email of your Winevizer account, pick which establishment to display, choose a presentation and a height. See **Installation** for the step by step.

= No digital wine list yet? =

Send us the list you already have, in whatever form — a PDF, a spreadsheet, a photograph of the printed menu. We digitise it for you. Everything then lives in your Winevizer account, and this plugin simply shows it on your site.

This plugin requires a Winevizer account, since the content of your wine list lives there. See **External services** below for exactly what is exchanged.

== External services ==

This plugin relies on the [Winevizer service](https://www.winevizer.com), operated by Winevizer, to retrieve and display your wine card. The plugin does not function without it, since the card content lives in your Winevizer account. The following calls are made to the Winevizer API (`api.winevizer.com`) and content servers (`resto.winevizer.com`):

* **When you configure the plugin or refresh the establishment list (admin only):** the account email you entered is
sent to `https://api.winevizer.com/api/v1/shops` so the plugin can list the establishments linked to your account.
* **When a page containing the card is displayed (front-end):** a public, non-reversible token identifying the
selected establishment is sent to Winevizer to fetch the rendered card. Depending on the chosen display type this is either the server-rendered HTML fragment (`https://api.winevizer.com/resto/api/e/{token}/embed.html`) or an iframe (`https://api.winevizer.com/embed/iframe/{token}` or `.../embed/pdf/{token}`). No visitor personal data is sent; only the establishment token is used.
* The card stylesheet and the small interactivity script are bundled with the plugin and served locally — they are
  **not** loaded from a remote server.

Data sent is limited to your account email (admin configuration) and the establishment token (page rendering). By using this plugin you agree to the Winevizer terms and privacy practices:

* Terms / privacy: [www.winevizer.com/cgu](https://www.winevizer.com/cgu)

The API base URLs can be overridden in `wp-config.php` (`WINEVIZER_API_URL`, `WINEVIZER_RESTO_URL`) for staging/testing environments.

== Installation ==

1. Upload the plugin to `/wp-content/plugins/winevizer` (or install the zip from the WordPress plugin page).
2. Activate the plugin.
3. Go to **Settings → Winevizer** and enter your Winevizer account email.
4. Pick the establishment you want to embed and choose the display type.
5. Insert `[winevizer]` in any post or page, or use the "Carte Winevizer" Gutenberg block or widget.

== Support ==

Questions about **the plugin itself** — installation, display types, block or shortcode — belong on the [WordPress.org support forum](https://wordpress.org/support/plugin/winevizer/), where the answers stay visible to everyone.

Questions about **your own account, your establishments or your wine list** are handled directly at [www.winevizer.com](https://www.winevizer.com), since they concern data only you can see.

== Frequently Asked Questions ==

= Do I need a Winevizer account? =

Yes. The plugin displays a wine card that you manage in your Winevizer account. Enter the email of that account in
**Settings → Winevizer** to link your establishments.

= No establishment appears in the list. What should I do? =

Make sure you entered the same email used to create your Winevizer account, save again, then use the "Refresh the establishment list" button. The list is cached for one hour.

= Does the plugin send any visitor data to Winevizer? =

No. On the front-end, only a public establishment token is sent to fetch the card. No visitor personal data is collected or transmitted by the plugin. See **External services** above.

= Is the wine card good for SEO? =

Yes, if you use one of the "Inline HTML" display types: the card is rendered as real HTML in your page (including structured data), so search engines can index your wines. The iframe types are interactive but less SEO-friendly.

== Changelog ==

= 1.3.1 =
* Add the plugin homepage URL to the plugin header.

= 1.3.0 =
* Security & WordPress.org compliance: the stylesheet and interactivity script are now bundled and served locally
(no remote assets), embedded content is strictly sanitized, and no remote/inline JavaScript is executed.
* Added a documented "External services" section describing the data exchanged with the Winevizer service.
* Fixed the Mosaic display mode: view transitions (color → wines → detail) now work reliably.
* Added clean uninstall (removes the plugin settings and cached data).
* The classic widget now follows the global configuration like the block and shortcode.

= 1.2.0 =
* Added the Mosaic display mode and server-rendered (Inline HTML) embedding for better SEO.

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.3.0 =
Recommended update: local assets, stronger security/sanitization, and a fix for the Mosaic display mode.
