=== Flavor – Restaurant Menu ===
Contributors: flavorstudio
Tags: restaurant menu, food menu, qr code, allergens, digital menu
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.5.11
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A modern, elegant restaurant menu plugin. Card Grid layout, category filter, Elegant Dark theme, all page builders included.

== Description ==

**Flavor – Restaurant Menu** is a modern WordPress restaurant menu plugin for restaurants, cafés and bars. Create mobile-friendly food menus with categories, images, prices and a responsive card grid — then display them anywhere with a shortcode, Gutenberg block, Elementor widget or WPBakery element. No WooCommerce required. QR code table stands, EU allergen labels and multiple layouts are available in Flavor Pro.

= Free Features =

* **Unlimited dishes** — Full menu management with categories, single price, featured image and sort order
* **Card Grid layout** — Responsive image cards
* **Category Filter** — Animated frontend category filtering on the Card Grid
* **Subcategory support** — Hierarchical categories with parent and sub-headings
* **Theme: Elegant Dark** — Built-in dark design theme
* **All page builders** — Gutenberg Block, Elementor Widget, WPBakery Element
* **Shortcode** — `[flavor_menu]` works without any page builder
* **Category Sort** — Drag & drop reordering in admin
* **Responsive** — Adapts to all screen sizes

= Pro (separate plugin — [flavor-menu.com](https://flavor-menu.com)) =

* **Multiple prices** — Unlimited price variants per dish with labels (e.g. Small / Large, 0.2 l / 0.75 l)
* **7 Layouts** — Card Grid, Price List, Table, Horizontal Card, Featured, Compact List, Sectioned List
* **6 Design Themes** — Elegant Dark, Clean Light, Warm Earth + 3 fully configurable Custom Themes with 7 color pickers each
* **40 Google Fonts** — Curated Serif, Sans-Serif and Display fonts via Menu → Typography. Optional local self-hosting for GDPR-compliant delivery
* **Allergens & Nutrition** — 14 EU mandatory allergens (Regulation 1169/2011) + nutritional values per 100 g. Layout-specific display: 180° flip (cards), floating popup (lists), abbreviation chips (table)
* **Guest Ratings** — 1–5 star ratings in the Card Grid layout. No login required. Duplicate protection via localStorage + server-side IP hash
* **Multiple Locations** — Assign dishes to one or more restaurant branches. Filter per location via shortcode parameter
* **Badge System** — New, Popular, Chef's Choice, Seasonal, Spicy and more
* **QR Code / Table Stand** — Print-ready table stands as PDF. 3 styles (Minimal, Elegant, Branded), DIN A5/A6, logo upload, background image, 4 color pickers, live preview
* **CSV Import / Export** — Import dishes from CSV (Excel/Google Sheets compatible). Supports all dish fields: title, description, subtitle, categories (incl. subcategories via `Food > Starters`), prices with labels, badges, locations, allergens, nutrition values. Missing categories are auto-created. Existing dishes (matched by title) are updated. Configurable delimiter (comma or semicolon). Preview before import, per-row result report. Export all dishes as CSV. Downloadable empty template.
* **SEO / Schema.org markup** — Every menu outputs Schema.org structured data (JSON-LD): `Menu`, `MenuSection` and `MenuItem` with prices (`Offer`) and nutrition (`NutritionInformation`), so search engines and AI assistants can read your menu. No configuration required, works in every layout
* **Columns & Image Ratio** — 2/3/4 columns, 4:3/1:1/16:9 image ratio
* **Subcategory Support** — Hierarchical categories with parent and sub-headings in all layouts

= Page Builder Support =

* Gutenberg (native block, live preview in editor)
* Elementor Free 3.5+
* WPBakery Page Builder

= Shortcode =

`[flavor_menu title="Our Menu"]`

Available parameters: `title`, `description`, `category`, `limit`, `show_filter`, `hide_all_btn`, `default_category`, `currency`, `el_class`

== External Services ==

This plugin does **not** connect to any external services. All assets (CSS, JavaScript) are bundled locally and served from your own server. No data is transmitted to third parties.

== Installation ==

1. Upload the `flavor-restaurant-menu` folder to `/wp-content/plugins/`, or install via **Plugins → Add New → Upload Plugin**.
2. Activate the plugin through the **Plugins** menu.
3. Go to **Menu → Add New Dish** to create your first dish.
4. Insert the menu on any page using the Gutenberg block, Elementor widget, WPBakery element or the shortcode `[flavor_menu]`.

= Quick Start =

1. **Create categories** — Menu → Categories (e.g. "Food" → "Starters", "Main Courses")
2. **Add dishes** — Menu → Add New Dish (title, description, image, price, sort order)
3. **Insert the menu** — add the Flavor block or shortcode to any page

== Frequently Asked Questions ==

= Do I need Elementor or WPBakery? =

No. The plugin works with the Gutenberg block editor that comes built into WordPress. Elementor and WPBakery are optional.

= Does the plugin load any external scripts or services? =

No. The Free version loads no external scripts and connects to no external services. All assets are served locally from your own server.

= How do I reorder categories? =

Go to **Menu → Category Sort** and drag the categories into the desired order.

= Can I display subcategories? =

Yes. When filtering by a parent category in the Card Grid, subcategories are shown as section headings. Create subcategories by setting a parent in Menu → Categories.

= Where can I find allergens, multiple layouts and other Pro features? =

These are available in **Flavor Pro**, a separate plugin at [flavor-menu.com](https://flavor-menu.com). Installing Flavor Pro alongside this plugin automatically unlocks all Pro features.

== Screenshots ==

1. Dish list in the WordPress admin — all menu items with their assigned categories
2. Menu Categories admin page — manage hierarchical categories with parent and subcategory support
3. Category Sort admin page — drag-and-drop reordering of categories and subcategories
4. Manage Badges (Pro) — create custom badges with colors, names and optional emoji icons
5. Table Stand / QR Code (Pro) — design and export a print-ready QR code table stand with live preview
6. Custom Themes (Pro) — live color theme editor with 7 color pickers and instant preview
7. Card Grid layout on the frontend — Elegant Dark theme with animated category filter

== Changelog ==

= 1.5.11 =
* **Onboarding: page-builder guidance** — The "Get Started" checklist now detects Elementor and WPBakery and points you to the native "Menu Card" widget/element instead of the shortcode, plus a Documentation link to the shortcode reference.
* Maintenance and minor improvements.

= 1.5.10 =
* Maintenance and minor improvements.

= 1.5.9 =
* **Guided setup** — A new "Get Started" checklist walks you from your first category to a live menu. Steps tick off automatically as you go, and one click can create a menu page for you.
* Maintenance and minor improvements.

= 1.5.8 =
* **Fix: menu colors overridden by the theme** — Some themes styled headings inside their layout wrappers (e.g. `.vc_row h3`) with higher CSS specificity, so the Card Grid dish titles and text did not use the selected Flavor theme colors. The plugin now enforces its own palette. Colors stay fully customizable via the theme selector.
* **New in Pro: Schema.org structured data (SEO)** — Flavor Pro now outputs `Menu` / `MenuSection` / `MenuItem` JSON-LD (prices, nutrition) so search engines can read your menu.
* **New in Pro: full 40-font Typography library** — Five more curated Google Fonts added to the Pro Typography picker (now 40 fonts total).

= 1.5.7 =
* **Fix: German umlauts displayed as escape sequences** — The 1.5.6 `.mo` file contained literal `\xc3\x9f` byte-escape sequences instead of UTF-8 characters, causing garbled output for umlauts (ä, ö, ü, ß), special characters (€, →, —) in the WordPress admin. Now using proper UTF-8 encoding.

= 1.5.6 =
* **German translation** — Complete German (de_DE) translation added with correctly named `.po` / `.mo` files (`flavor-restaurant-menu-de_DE.mo`) so WordPress auto-loads them on German sites.
* **WordPress 7.0 compatibility** — Tested up to WordPress 7.0.

= 1.5.5 =
* **Documentation links in admin** — Category Sort page now shows a "Documentation ↗" link next to the heading.
* **Plugin list link** — A "Documentation" link is added to the plugin entry in wp-admin → Plugins.
* **Informational Pro pages** — Admin menu shows informational pages for Badges, Custom Themes, Typography, Ratings, Table Stand and Import/Export — linking to the separate Flavor Pro plugin.

= 1.5.4 =
* **General improvements** — Maintenance and minor improvements.
* **Security hardening** — Nonce sanitization improved throughout. CSS output re-validates all values. Redirects use `wp_safe_redirect()`.

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.5.11 =
The Get Started checklist now guides Elementor and WPBakery users to the native widget. No action required.

= 1.5.10 =
Maintenance and minor improvements. Recommended for all users.

= 1.5.9 =
Adds a guided "Get Started" setup checklist. No action required.

= 1.5.8 =
Fixes Card Grid titles and text taking the surrounding theme's colors instead of the selected Flavor theme. No action required.

= 1.5.7 =
Fixes garbled German umlauts in the admin (1.5.6 .mo file had broken UTF-8 encoding). Recommended for all German installations.

= 1.5.6 =
Complete German translation and WordPress 7.0 compatibility.

= 1.5.5 =
Documentation links added to admin pages and plugin list.

= 1.5.3 =
New Pro feature: CSV Import / Export for dishes. Import from Excel/Google Sheets CSV, export all dishes, download empty template.

= 1.5.2 =
New "Download Fonts Locally" feature in Menu → Typography for GDPR-compliant font delivery without external requests to Google.

= 1.5.1 =
Vendor scripts are now bundled locally. If you previously saw console errors about blocked CDN requests, this update resolves them.
