=== ID Restaurant Menu ===
Contributors: suspendedstarter
Tags: restaurant menu, food menu, restaurant, menu card, dining
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Stable tag: 1.3.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Create and display beautiful restaurant menus with multiple display styles, bulk pricing, schema markup, and more.

== Description ==

ID Restaurant Menu is a powerful WordPress plugin for restaurants, cafes, and bars to create and manage their food and drink menus. Organize items into categories, set prices, highlight featured dishes, and display your menu in one of five professionally designed styles.

= Features =

* **Unlimited Items & Categories** — Add as many menu items and categories as you need
* **5 Display Styles** — Elegant, Modern, Casual, Grid, and Minimal templates to match any restaurant theme
* **Bulk Pricing** — Adjust prices across your entire menu or by category with flat, percentage, or rounding options
* **Dietary Flags** — Mark items as Gluten-Free, Vegetarian, Vegan, Dairy-Free, or Contains Nuts
* **Featured Items** — Highlight signature dishes with badges, borders, or background accents
* **Schema Markup** — Automatic JSON-LD structured data for better search engine visibility
* **Item Images** — Upload images from the WordPress media library
* **Size-Based Pricing** — Offer Small, Medium, Large (or custom) sizes with individual prices per item
* **Custom Price Labels** — Display "Market Price", "From $12", or any custom text instead of a fixed price
* **Import (Pro)** — Import menu data from JSON or CSV files, with add or replace modes
* **Drag & Drop Ordering** — Reorder categories and items with simple drag and drop
* **Menu Groups** — Create menus (Breakfast, Lunch, Dinner) and assign items; display a specific menu via shortcode
* **Shortcode** — Use `[id_restaurant_menu]` with flexible attributes to display your menu anywhere
* **Theme Override** — Place custom templates in your theme's `idrm/` folder to fully control the output
* **PDF Menu Generation** — Let visitors download a beautifully formatted PDF of your menu
* **IDVE Block** — Drag-and-drop menu block for the ID Visual Editor
* **WPBakery Integration** — Native WPBakery (Visual Composer) element
* **Elementor Widget** — Full Elementor widget with live preview controls

= Shortcode Usage =

`[id_restaurant_menu]`

| Attribute    | Default   | Description                              |
|--------------|-----------|------------------------------------------|
| style        | (setting) | elegant, modern, casual, grid, minimal   |
| menu         | (all)     | Menu slug (e.g. "breakfast", "dinner")   |
| category     | (all)     | Category slug(s), comma-separated        |
| featured     | 0         | 1 = show only featured items             |
| columns      | (setting) | Grid columns (2-4), grid style only      |
| show_images  | (setting) | 1/0 override                             |
| show_dietary | (setting) | 1/0 override                             |
| show_pdf     | 0         | 1 = show PDF download button             |
| decimals     | (setting) | Override decimal places                  |
| class        | (none)    | Additional CSS class                     |

= Examples =

Display your full menu in the elegant style:
`[id_restaurant_menu style="elegant"]`

Show only appetizers and desserts:
`[id_restaurant_menu category="appetizers,desserts"]`

Show only the breakfast menu:
`[id_restaurant_menu menu="breakfast"]`

Display featured items in a 3-column grid:
`[id_restaurant_menu style="grid" featured="1" columns="3"]`

== Installation ==

1. Upload the `id-restaurant-menu` folder to `/wp-content/plugins/`
2. Activate the plugin through the **Plugins** menu in WordPress
3. Go to **Restaurant Menu > Settings > License** and enter your license key
4. Navigate to **Restaurant Menu > Categories** to create your menu categories
5. Go to **Restaurant Menu > Menu Items** to add your dishes
6. Use the `[id_restaurant_menu]` shortcode on any page or post to display your menu

== Frequently Asked Questions ==

= Can I use multiple menus on different pages? =

Yes. Create menus under **Restaurant Menu > Menus** (e.g. Breakfast, Lunch, Dinner) and assign items to them. Then use the `menu` attribute: `[id_restaurant_menu menu="breakfast"]` on one page and `[id_restaurant_menu menu="dinner"]` on another. You can also filter by `category` for finer control.

= Can I customize the display templates? =

Yes. Copy any template file from `wp-content/plugins/id-restaurant-menu/templates/` into your theme at `your-theme/idrm/` and modify it. The plugin will automatically use your theme's version.

= Does this work with page builders? =

Yes. In addition to the shortcode (which works with any page builder), ID Restaurant Menu includes native elements for WPBakery, Elementor, and IDVE for a visual drag-and-drop experience.

= How does the bulk pricing feature work? =

On the **Restaurant Menu > Menu Items** page, click the "Bulk Price Adjustment" button to expand the pricing panel. Choose an adjustment type (flat amount, percentage, or rounding), optionally filter by category, then click Apply to update all matching prices immediately.

= What is schema markup and why should I use it? =

Schema markup adds structured data to your page that helps search engines understand your menu. This can lead to rich results in Google showing your menu items, prices, and dietary information directly in search results.

== Screenshots ==

1. Menu Items admin list with category filter, featured star toggles, and active status badges
2. Add/Edit item form with image picker and dietary flags
3. Categories management with drag-to-reorder
4. Bulk pricing preview with editable new prices
5. Elegant display style on the frontend
6. Grid display style with featured ribbons
7. Settings page with General, Display, Schema, PDF, and License tabs

== Changelog ==

= 1.3.0 =
* New: Menu Groups — create menus (Breakfast, Lunch, Dinner), assign items to multiple menus, display via `[id_restaurant_menu menu="breakfast"]`
* New: Menu admin page with add/edit/delete and drag-and-drop reorder
* New: Inline menus multi-select column on items list table
* New: Menu checkboxes on item edit form
* New: IDVE block Menu dropdown field
* Fixed: IDVE block fields (Display Style, Category) now populate correctly (resolved plugins_loaded timing issue)
* Fixed: Bulk pricing Apply button now works (AJAX handlers were not registered)
* Improved: Bulk pricing simplified to single Apply button (no preview step)

= 1.2.0 =
* New: Drag-and-drop grip handle column on items page for clear visual reorder affordance
* New: Inline editing — click item names, categories, and prices to edit directly in the list table
* New: Size-based pricing visible and editable inline with add/remove variant support
* New: Price mode switching — toggle between single price, size-based pricing, and custom labels inline
* New: Bulk pricing panel integrated into items page as a collapsible section
* Improved: Drag-and-drop disabled when sorting by column or searching (visual indicator)
* Removed: Separate Bulk Pricing submenu page (now part of items page)

= 1.1.0 =
* New: Size-based pricing — offer Small, Medium, Large (or custom) sizes with individual prices per item
* New: Default size labels setting under General tab for quick setup
* New: Import feature gated as a Pro feature with upgrade prompt
* New: JSON import supports optional `price_variants` array on items
* New: CSV import supports optional `item_price_variants` column (pipe-delimited, e.g. `Small:3.50|Large:4.50`)
* Improved: Bulk pricing adjusts variant prices proportionally
* Improved: PDF generation renders size-based prices
* Improved: Schema.org output emits multiple Offer objects for sized items
* Improved: Admin list table shows all size/price pairs

= 1.0.0 =
* Initial release
* Menu item and category management with custom database tables
* 5 display styles: Elegant, Modern, Casual, Grid, Minimal
* Bulk pricing adjustments (flat, percentage, rounding)
* Dietary flags (Gluten-Free, Vegetarian, Vegan, Dairy-Free, Contains Nuts)
* Featured items with badge, border, or background highlighting
* Schema.org JSON-LD structured data output
* Shortcode with flexible attributes
* Theme template overrides
* Drag-and-drop reordering
* PDF menu generation with TCPDF
* IDVE block integration
* WPBakery element
* Elementor widget

== Upgrade Notice ==

= 1.3.0 =
Menu Groups feature, IDVE block fix, and bulk pricing fix.

= 1.2.0 =
Items page overhaul with inline editing, grip handle drag-and-drop, and integrated bulk pricing.

= 1.1.0 =
Adds size-based pricing (Small/Medium/Large) and gates the Import feature as Pro.

= 1.0.0 =
Initial release of ID Restaurant Menu.
