Easily create a stylish, responsive restaurant menu and add it to your site in minutes. With the easy-to-use menu builder, and the included layout and customization options, you’ll have your menu set up in no time.
This plugin also lets you enable a food ordering system directly on your site from your menu page. This is available in the ultimate version, which you can read about in the Food Ordering Straight from Your Menu section below.
The plugin includes a Gutenberg restaurant menu block as well as a restaurant menu shortcode, so you can display your menu on any page, no matter which page editing system you are using. We also include several patterns, so you can integrate your menus directly into your block-based theme.
- Unlimited restaurant menus and menu items.
- Responsive restaurant menu layout that looks great on mobile and all devices.
- Add your menu to any page via the included Gutenberg block or shortcode.
- Add unique photos and prices to each food or drink menu item .
- Optional sidebar to display your restaurant menu sections, for quick navigation.
- Full Menu schema structured data automatically integrated, so Google can correctly identify your page as a menu and use it accordingly in search results.
- Create a QR code that you can use in-restaurant to let your guests see your online menu.
Five Star Restaurant Menu is very user friendly and comes with a walk-through that runs automatically when you activate the plugin and will help you create your menu items, add the menu to your site and set key options!
Restaurant Menu QR Code
This food menu plugin now comes with the ability for you to generate a QR code that leads directly to your online menu. You can place these, for example, at the tables in your restaurant, so guests can scan them and gain easy and quick access to the restaurant menu page on your website.
There are several great benefits to utilizing your online menu in your restaurant, including:
- You can instantaneously make changes to your menu. No matter how small or big the change you need to make is, you won’t need to reprint anything or explain it to every customer.
- Save money and trees by avoiding the need to print your menus.
- Creates a more contactless experience, no longer having menus shared between all customers.
Restaurant Menu Sections
The plugin comes with the ability to create separate restaurant menu sections. This allows you to divide a menu into multiple parts, making it more clear for your customers. You can even include a note for a section (e.g. “All items in this section come with salad or fries.”). Some examples of menu sections you can create are:
- Main Course
- Dessert Menu
- Kid’s Menu
- Gluten Free Menu
- Weekly Specials
You can then add a sidebar to your menu page, which lists all your sections, so your guests can quickly find what they’re looking for.
In addition to this, you can also create completely separate and customizable restaurant menus. This feature can be used for several different purposes including individual menus for different meals, but also separate menus for drinks or snacks. It even works great if your restaurant is split up into different areas (e.g. a dining hall, a cafe, a bistro, etc.). Some examples of individual restaurant menus you can create are:
- Breakfast Menu
- Brunch Menu
- Lunch Menu
- Dinner Menu
- Wine Menu
- Drink Menu
- Snack Menu
- Cafe Menu
- Specialty Menu
- The possibilities are endless!
More Restaurant Menu Features
Our customizable restaurant menu and ordering plugin comes with several additional features that will help ensure you’re able to set it up not only easily, but with all the options you need. It will also allow you to deliver the best and easiest drink and food menu experience for your visitors. These features include:
- Extra Gutenberg blocks to display individual restaurant menu sections or items on a page (instead of just a whole menu)
- Ability to add multiple prices for a single item
- Advanced restaurant menu template system for further layout customization
- Simple restaurant menu compatibility with WPML for multi-language sites
- Add a footer to each drink or food menu for legal disclaimers or other notes
- Display reviews for menu items (requires the premium version of the Five Star Restaurant Reviews plugin)
- Add a submit review form to menu items (requires the premium version of the Five Star Restaurant Reviews plugin)
- Widgets to display quick restaurant menu items in your sidebar or footer
Premium Restaurant Menu
With the premium version of our restaurant menu plugin, you can extend the functionality of your menu to offer your guests the best possible experience. This includes multiple layout options, the ability to add custom fields to your menu items, sorting and filtering options for your menu page, and much more.
Premium features include:
- Two new modern and responsive restaurant menu layouts.
- Custom menu fields to add any extra info you want to your restaurant menu items.
- Sorting, filtering and search options to let your customers find the exact meal or item they’re looking for.
- Comprehensive icons to indicate dietary and ethical requirements, including organic, gluten-free, kosher, halal and many more.
- Badges for item features, specials and sales.
- Special/discount pricing.
- Google maps to show off local suppliers or ethical sourcing programs.
- Add a related items section to the single menu item page.
- Labelling options that let you change the wording for all the labels displayed on the front end of the plugin.
- Advanced styling options to change the fonts, colors, widths, borders, etc. of the different menu elements.
By combining the sorting/filtering/search options with the badges, dietary icons and specials, you can be sure that your guests will be able to locate the best possible menu items for them in no time at all.
Food Ordering Straight from Your Menu (Requires Ultimate Version)
The ultimate version of the Five Star Restaurant Menu plugin lets you add a complete food ordering system to your website. Stop paying commission to third-party services and start offering ordering directly on your site.
Key features of the food ordering platform include:
- Add-to-cart buttons for all menu items.
- Intuitive cart that fits into any theme and lets customers easily add items and check out.
- Require payment immediately or give your customer the option to pay in store.
- Both Stripe and PayPal available as payment gateways.
- Email notifications both to you and your customers for new orders and order updates.
- Easy-to-use admin interface lets you quickly manage orders.
- Syncs directly with the Five Star Restaurant Manager mobile app (iOS and Android), so you can manage the orders in the kitchen or on the go.
Setting it up couldn’t be easier. When you enable the ordering feature, an “Add to Cart” button will appear on each menu item, which will let you add as many items as you want to the cart. There are also options to enable advanced ordering features, which let you have multiple prices per item as well as add-ons that guests can select when adding items to their cart.
From the cart, you can then increase and decrease the quanity, remove items and view any special requests or add-ons. Checkout is a breeze with the included options. You can set it so that customers are required to pay right away at checkout or give them the option to pay when they pick the food up.
Combine this with the available custom fields feature, which lets you add new inputs to the order form, and you can set up the checkout process however you like. For example, you could have an option for delivery and then require immediated payment either via Stripe or PayPal.
Further customization features for the restaurant ordering system include:
- Add-ons for menu items, which can be selected when adding to cart (e.g. extra toppings).
- Restrict when ordering should be available by setting up a schedule.
- Set a minimum order total (e.g. in dollars, euros, etc., depending on your chosen currency).
- Option to temporarily pause ordering (e.g. you are at capacity).
- Alternatively, set a maximum number of orders that you can take.
- Fields for the customer to leave notes for both individual items and the overall order.
- Add custom fields to the order form (e.g. if you require extra info from your customers, want to offer delivery, etc.).
- Styling and labelling options to further customize the order form to your site.
Once an order is placed, restaurant owners receive a customizable order notification that contains all of the order information by default. This is also created as an order in the plugin admin panel, where you can view all the details and change the status, which your customers can check right on your menu page via an intuitive order progress bar.
There are further options to customize the restaurant menu ordering experience by setting specific hours when the ordering should be available as well as advanced features that let you add customization options to each menu item (e.g. “Add bacon”, “Upgrade to onion rings”, etc.). There is also an array of styling options to modify the colors of the ordering elements, including the buttons, the cart and the progress bar.
Five Star Restaurant Manager Mobile App
The ultimate version also syncs directly with our Five Star Restaurant Manager mobile app, for iOS and Android, which lets you manage your orders from your phone or tablet without needing to log in to your site/WordPress. With this, you can:
- View all new orders directly in the app.
- Change the status or individual orders (e.g. to preparing or ready).
- Access the customer’s phone number or email address to quickly get in touch with them, if need be.
With these features, you can set the app up on a tablet in the kitchen, to prepare orders as they come in, or for you to manage them anywhere on the go!
For further information and purchasing options, please visit our WordPress restaurant menu homepage.
** We are also pleased to offer a free 7-day trial of either the premium version or the ultimate version, which you can use to test out features like the additional layouts, custom fields and filtering options, before buying! **
This easy restaurant menu plugin is one part of our suite of plugins designed to give you the best WordPress restaurant experience. Check out the powerful Restaurant Reservations plugin and let your customers reserve a table directly on your site. With its intuitive and easy-to-use interface, you’ll be sure to not lose out on business to your competitors.
For help and support, please see:
- Upload the ‘food-and-drink-menu’ folder to the ‘/wp-content/plugins/’ directory
- Activate the plugin through the ‘Plugins’ menu in WordPress
- Go to the ‘Plugins’ menu in WordPress and click ‘Add New’
- Search for ‘Five Star Restaurant Menu’ and select ‘Install Now’
- Activate the plugin when prompted
After activating the plugin, a walk-through will run automatically that will help you to create your menu items, add a menu to your site and set key options.
You can also follow these steps to configure the plugin.
To create a menu section:
- Open the ‘Sections’ tab in the plugin admin panel.
- The ‘Add New Menu Section’ area will be on the left. Fill in the fields and click the ‘Add New Menu Section’ button.
- Your new section will show in the table on the right. You can click on it there to edit it.
- You can now assign restaurant menu items to specific sections from the menu item create/edit screen.
To create menu items:
- Open the ‘Menu Items’ tab in the plugin admin panel.
- Click on the ‘Add Menu Item’ button.
- Fill in the title, description and price fields, add a photo, and then choose the corresponding menu section.
- Once you’ve filled everything in, click the Publish button. This menu item will now be created and added to the menu section you chose.
To create a menu:
- Open the ‘Menus’ tab in the plugin admin panel.
- Click on the ‘Add Menu’ button
- Type in a title for your menu
- Now use the Menu Layout area to drag and drop the different menu sections you’ve created into your menu
- Use the Menu Footer area to specify any extra notes that you want to display in your menu
- Now you can place the included ‘Menu’ Gutenberg block or the the [fdm-menu] shortcode in the content area of any page you’ve created and it will display your menu. (Please note that it’s usually best to display your menu on a page that uses a full-width page templage [i.e. no sidebar].)
Customize your restaurant menu experience by making use of the available options, found in the Settings area of the plugin admin.
For a list of specific features, see the Restaurant Menu description page here: https://wordpress.org/plugins/food-and-drink-menu/.
For help and support, please see:
You can either make use of the included ‘Menu’ Gutenberg block or the [fdm-menu id=”1″] shortcode (just replace the id with the actual id of the menu you want to display).
You definitely can. Right underneath where you add the main price, you can click the ‘Add Price’ button and input the new price for your variation.
When editing a Menu Item, you’ll see a panel on the right-hand side which has an Order input field. Menu Items are listed in order of this value, from lowest to highest.
If you want one Menu Item to be listed after another, make sure it’s Order value is higher.
How can I show that a collection of dishes come with a side?
Each Menu Section can have a description. When available, it displays below the section title.
To add a description to a section, go to the Menu Items > Menu Sections page in your WordPress admin area. Click the Edit link below the section you’d like to change.
On the Edit screen, you’ll see an area to type in a description. This is a great place to put in details such as:
- All entrees come with a side salad or fries.
- Add cheese to any burger for $1. Add bacon for $2.
- Add fries and a coke to any order during lunchtime for just $10.
Can I have different sections with the same name?
Yes. It’s common for a restaurant to have two locations. Each location’s menu has a Starters section, but they might not have exactly the same Starters in each location. They need different sections with the same name.
You’ll soon learn that you can’t create two Menu Sections with the same name. To get around this, you’ll need to create your Menu Sections with unique names, like “Starters (Downtown)” and “Starters (Uptown)”.
You can then override these names when you adding the Menu Section to a Menu. To do this, click the Edit icon in the Menu Layout panel for the Menu Section.
You can then enter your preferred Menu Section name.
This name only applies to this Menu, so different Menus can each have sections with the same name.
Can I customize the look and layout of my menu?
The plugin comes with a base style, which inherits the look of your theme, as well as a classic style. There are also two extra premium styles available.
Since version 1.5 of this plugin, you can also make use of your theme’s page templates.
If you want to make more bespoke customizations to the design and style of your menu, you may need to know CSS code and how to modify PHP templates. You can read some simple tutorials here.
How can I indicate that we add a gratuity?
Each Menu has an additional editor for the Menu Footer. You’ll see this when editing a menu.
The Menu Footer is a great place to add details such as:
- All parties of 6 or more will automatically be charged a gratuity of 10%.
- All dishes are cooked in a kitchen with nuts.
- All of our meat is free-range and sourced from local producers.
I need to mark some dishes as vegetarian, spicy or similar?
The premium version features a wide range of icons covering dietary needs, healthy choices and religious preferences.
Is this compatible with WPML?
This plugin includes a wpml-config.xml file which provides compatibility with the WPML multi-language plugin. Additionally, the plugin uses a custom post type. As such, if you enable our post type in the WPML settings, you’ll be able to create translations of your menu items. As well, all the strings/labels are localized in the code, so they will be picked up by WPML’s String Translation tool for easy direct translating.
For help and support, please see:
- Updating a condition to make sure the new block patterns don’t cause an error on WordPress installations using a version of WordPress older than 5.5.
- Removed the trailing comma from the newly-added instances of register_block_type_from_metadata and register_block_pattern_category, to correct an apparent conflict with proxy fcgi, as reported by one user.
- Introducing new block patterns, which can be used to integrate menus, sections and items directly into your block-based theme templates.
- Added a column to the menus table that displays each menu’s shortcode.
- Converted block metadata to block.json format.
- Fixed an issue with the styling options not applying when adding a menu section to a page.
- Updated the block previews so they now display with all styling applied (both default and optional).
- Corrected enqueuing and styling issues (on both the front end and in the admin block preview) when using the menu section shortcode/block on a page.
- Corrected an enqueueing issue in the block registration that was, in some cases, preventing the page edit screen from loading if you were using PHP 8.0 and had the Menu Formatting option set to Base.
- Added an option to have the sidebar be hidden by default on mobile devices and expandable via a button.
- Added a labelling option for this button.
- Fixed an issue where the menu item flags weren’t being hidden if they were disabled.
- Tested with WordPress 6.0.
- Add a labelling options section, which lets you specify an alternate wording or translation for each label that appears on the front end of the plugin.
- Added an option to have the Refined menu style show in two columns.
- Also updated the Refined style so it makes use of which column you put a section in on the menu edit screen.
- Added an “Add another item” link to the cart to make it easier to close the pane on mobile.
- Updated the success message after a “Pay in Store” order is placed.
- Fix for min and max attributes for the item quantity input in the cart.
- Fix for an issue causing Stripe payments to not work.
- Fixed an issue in which the base styling was still loading when you chose the option to not load any styles.
- Fixed an issue causing Stripe payments for the ordering to not work.
- Fixed issue with currency symbol not showing.
- Fixed sorting options that weren’t working correctly.
- Updated styling for the lightbox.
- Updated escaping and sanitizing.
- Added back in the wpml-config file.
- Updated escaping and sanitizing.
- Updated nonces and capability checks.
- Changed how premium settings areas are previewed.
- Fixed an import issue for items with multiple prices.
- Added jQuery UI CSS for the filtering price slider.
- Small styling updates in the admin.
- Fixed an issue with checkbox custom field values not saving/displaying correctly after import.
- Updated nonces in the admin.
- Styling updates for the walk-through.
- Updates the SAP library to version 2.6.1
- Makes the display of a number of settings conditional on the values of other settings
- Adds in an override toggle to manually turn off ordering temporarily
- Adds in a maximum number of open orders allowed before ordering is paused
- Adds in default values for the radio button settings type
- Removes empty divs from the sidebar when a section is included but has no items
- Fix for a few styling issues in the admin.
- Updating several incorrect links in the admin.
- Fix for a possible PHP warning when ordering is enabled and no custom fields have been created.
- Eliminated a PHP notice related to the table used to create/modify custom fields.
- Update to fix/eliminate the warning certain users we’re getting related to the custom fields settings.
- Updated settings page library.
- Added an option to generate a QR code for your menu page, so you can let your visitors scan it and view a contactless menu.
- Added a minimum order value option.
- Added in structured data/schema for the menu, menu sections and menu items.
- Added custom fields for orders.
- Fixed an issue that was occasionally occurring in which, if you used the price quick edit feature in the admin to add extra prices, saved it, and, then, for some reason, immediately refreshed the screen, it would duplicate the price.
- Fixed an issue in which the search would sometimes not work if certain items were missing descriptions.
- Fixed an issue with order pagination.
- Updated blocks to be in their own category/section.
- Fixed an issue causing a double currency symbol in notification emails.
- Fixed an issue causing the quick sorting filters on the Orders admin screen to not work.
- Eliminating a PHP notice.
- Fixed an issue in which, when the Pay In Store option was selected at checkout, certain customer data were not being included in the email notification.
- Corrected an issue with a notification not triggering when order payment was enabled.
- Updated conditions for walk-through CSS and order cart JS.
- Updated the saving/cookies for the cart, so items remain after window close/open
- Updated enqueue for the walk-through to only load assets on the walk-through pages
- Corrected issue preventing hide blank custom fields from working correctly
- This is a relatively big update with several new features, corrections, styling, etc., so please take caution and test before updating on a live site (or wait a few days before updating in case some minor corrective updates need to be released).
- Added an option to include additional prices set for menu items in the ordering functionality.
- Added an option to send an email to the customer when an order is placed, and options to edit the subject and content of that email.
- Added a Quantity feature/selector for items in the ordering cart.
- Added ability to delete section image.
- Added the currency symbol to the discounted price.
- Added an option to hide blank custom fields.
- Updated the Stripe payment so it pulls in the name, etc. information provided by the customer over into the Stripe dashboard/payment information.
- Added an option to link to the permalink page for a menu item (as an alternative to the existing lightbox option).
- Added the prices of individual items and total cost to the table in the Orders tab in the admin.
- Corrected issue where the menu-specific section rename feature wasn’t applying to the sidebar.
- Corrected issue causing the price slider filter to not work.
- Corrected incorrect redirect URL when upgrading.
- Corrected issue causing the export to not work.
- Styling updates to the admin menu item edit screen.
- Updated the admin orders screen to show the item and total prices.
- Updated the admin settings screen for formatting and clarity.
- Adds in compatibility for reviews display and submission in the new version of Five Star Restaurant Reviews
- Also added a couple columns to the table on the Orders page in the admin
- Corrects recent issue causing the feedback notice to not dismiss correctly
- Fixes issues with menu add-on items not saving
- CSS update for ordering sidebar
- CSS/Styling updates for the front end and the admin panel
- Corrected/eliminated several PHP notices
- Corrected issue causing duplicate add-ons to show in the lightbox if you kept closing and opening it without actually adding to cart
- Corrected issue that was allowing order checkout without filling in required fields
- Adds in a setting to require name, phone and/or email fields when placing an order
- Clarifying the purpose of the plugin in the name
- Adds in a new premium feature to allow for the payment of orders
- Fixes an issue that was causing the filtering checkbox options to not save correctly
- Minor updates to the installation walk-through
- Updating the admin dashboard area
- Adds in a brand new ordering feature that lets people add menu items to a cart and place an order right from your menu page. These orders can then be updated in the admin and tracked on the front end.
- Fixes the ‘Countable’ warning on the posts screen
- Updating styling for compatibility with the new review display feature in Five Star Restaurant Reviews
- Correcting warning that sometimes came up in the Dashboard area of the admin when this and another Five Star plugin were both installed
- Added in the ability to duplicate a menu item
- Added in an option to restart the initial walk-through
- Updated the styling of the menu item lightbox
- Updated the Edit Price link in the main Menu Items view to display even if an item doesn’t have a price
- Updated Refined view to adhere to the two-column layout
- Removed columns for when the “Only Selected” sidebar click action option is enabled
- Made the dropdown in the Menu Items widget alphabetical
- Refinements to the Dashboard area of the admin
- Small updates to the styling of each menu layout style
- Added in new styling option
- Moving screenshots out of main plugin folder and into assets.
- Updating plugin icon and banner.
- Fixes an issue where two price inputs were appearing when clicking on the “Add Price” link in the “Edit Price” pop-up of the menu items list table
- Updating calls to global variables and removing dead link on Plugins page.
- Fixing a few incorrect links in the plugin admin
- Correcting a few small issues with the installation walkthrough screen that were also causing some users to get redirect warnings when activating the plugin.
- Adding a line of missing CSS
- This is a big update with many new features, corrections, revised admin styling, etc., so please take caution and test before updating on a live site (or wait a few days before updating in case some minor corrective updates need to be put out)
- The Options pages have a brand new and easy-to-use design, to go hand in hand with the many, many new options!
- Added in two brand new responsive menu layouts
- Added in an optional sidebar to display your menu sections
- Added in a new custom fields feature, so you can add extra details about menu items (e.g. nutritional info)
- Added in a new styling options section that lets you customize the colors, fonts, borders etc. of all elements of your menu
- Added in a powerful new filtering and search system, so your visitors can quickly find the menu items they want
- Added in new options for displaying menu section images
- Added in an option to have a menu item open up in a lightbox and display more detail
- Added in new options for setting a currency symbol and its location
- Added in the ability to export and import menu items
- Updated the options to disable certain menu elements
- Updated the styling of certain default features to be consistent with new features
- Other styling and ease-of-use changes
- Updated the order, layout and descriptions of several options
- Added missing items to the admin menus
- Updated the upgrade-to-premium process to be much quicker and easier
- Removed files from the plugin that were not being used/not needed