This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

OpenMenu – The official plugin for OpenMenu


This plugin allows you to easily create posts that are based on your OpenMenu and thus embedding restaurant menus in any WordPress website. This plugin fully integrates an OpenMenu or OpenMenus into an existing theme. Widget / Menu ready themes work best.

The OpenMenu Plugin is the official plugin for OpenMenu and adding restaurant menus to any WordPress website.

Get your OpenMenu at:


  • OpenMenu Custom Post Type
  • Widgets: Restaurant Location / Deals and Coupons / Specials / Cuisine Tag Cloud / QR Code / Filtered OpenMenu
  • [openmenu], [openmenu_qrcode] and [openmenu_deals] Shortcodes
  • Custom Functions
  • Site wide setiings
  • Lots of settings to control the look and feel of the way menus look

Detailed Features

OpenMenu Custom Post Type:
Create custom posts which are menus based off of your OpenMenu. Choose what to display, how to display it and the plugin does the rest.

    OpenMenu ID - This is a required field that is your OpenMenu ID

        Menu Name to display: If your OpenMenu contains multiple menus (ex. Lunch / Dinner) you can choose which menu to display in your post by entering the menu name here. (supports a comma-separated list)
        Group Name to display: If your OpenMenu contains multiple menu groups (ex. salads / deserts) you can choose which group to display in your post by entering the group name here. (supports a comma-separated list)

    Restaurant Information: Stores basic information about the restaurant that is referenced by the menu. This is primarly used in scenarios where many restaurant menu's will be displayed.  Information, along with the excerpt, will be used to generate a single page of all menus.

    Cuisine Types: Define which cuisine type describes this restaurant.

OpenMenu: Location – Displays the restaurants location and hours
OpenMenu: Specials – Displays the menu items marked as special
OpenMenu: Tag Cloud – A tag cloud for the cuisine types
OpenMenu: QR Code – Displays a QR Code to your mobile site on OpenMenu
OpenMenu: Filter – Displays a list of menu items controlled by many definable filters
OpenMenu: Deals – Display the deals attached to your OpenMenu

Short code:

    openmenu_id  = Your OpenMenu ID (not the OpenMenu URL, just the ID part)
    display_type     = menu (only option currently available)
    menu_filter      = Will display only the menu name matching this filter (supports a comma-separated list)
    group_filter     = Will display only the group name matching this filter (supports a comma-separated list)
    display_columns  = 1 | 2 - How many columns to display a menu in
    split_on     = item | group - In 2 column display what do we split on
    background_color = Set the background color the menu will display on
    group_break      = 0 | 1 - Forces a 2-column display with hard breaks between groups
    embedded     = 0 | 1 - Uses OpenMenu Embedded instead of rendering the menu locally
    generic_colors   = 0 | 1 - [embedding] Forces the use of the  generic colors for a menu 
    short_tags       = 0 | 1 - [embedding] Uses short tags for the special tags on menu items
    width            = [embedding] - Define the width of the embedded window (leave off for responsive)

    [defaults to OpenMenu Option setting]

    [openmenu openmenu_id="sample"]
    [openmenu openmenu_id="sample" display_type="menu" display_columns="1"]
    [openmenu openmenu_id="sample" embedded="1"]


    openmenu_id = OpenMenu ID (not the OpenMenu URL, just the ID part)
    size        = size for the QR Code (max 500) - defaults to 128

    [openmenu_qrcode openmenu_id="sample"]
    [openmenu_qrcode openmenu_id="sample" size="256"]


    openmenu_id     = OpenMenu ID (not the OpenMenu URL, just the ID part)
    deal_id         = Show only a single deal based off of its ID
    compact_view        = shows the deals in a compact view (only the headline is displayed)
    show_print      = Determines whether the Clip/Print link is displayed in a deal
    new_window      = When show_print is true this determines if links are opened in a new window
    width           = width to display the deal
    width_units     = sets the units for the width value [px | %]

    [openmenu_deals openmenu_id="sample"]
    [openmenu_deals openmenu_id="sample" width="500" width_units="px" compact_view="1"]

Custom Functions:
Display a location block: openmenu_location( post_id, title );
Display a specials block: openmenu_specials( post_id, title );

Site Wide OpenMenu Settings:

Look & Feel: 
    Display Type: What information will be displayed: Menu, Restaurant Information or Both
    How many columns: How many columns will be used to display a menu (1 or 2)
    Use Short Tags: Menu Item tags like special, vegatarian, halal, gluten free and such will be shortened to one or two letters
    Theme: only default is currently supported

Your Menu: 
    Show Allergy Information: Determines if Allergy Information is displayed in a menu
    Show Calories: Determines if Calories are displayed in a menu
    Hide Prices: Determines if prices are shown for your menu items

Wordpress Theme: 
    Show posts on homepage: Determines whether OpenMenu post types are displayed on the homepage blog post listing and in the RSS feed for the website.
    Hidesidebar: Forces the sidebar of a post to be hidden.  Gives the impression of a full-width page and may be more desirable when displaying menus.
    Width override: Attempts to force the width of the post to this amount.  Can be helpful for adjusting the display on troublesome themes.
    Menu background color: Set the background color the menu will display on (defaults to white - #fff)

Icon designed by Ben Dunkle, core designer for Website: – Contact


  • OpenMenu Overview
  • Adding/Editing a Menu
  • OpenMenu Options
  • Sample Rendered Menu
  • Powerful Widgets
  • Deals and Coupon Widget / Shortcode


  1. Unzip the file
  2. Upload the entire ‘openmenu’ folder to the ‘/wp-content/plugins/’ directory
  3. Activate the plugin through the ‘Plugins’ menu in WordPress
  4. Update Site Wide options through the Settings -> OpenMenu Options


Do you provide any online help?

Yes. We have a complete help system at:

How do I get my menu converted to an OpenMenu so I can use this awesome plugin?

Goto: and read about OpenMenu
OpenMenu Creator:

How do I find out about updates to this plugin?

Any updates will be posted on the OpenMenu –

Can I display menus for multiple restaurants?

Yes. This is the main reason for using custom post types. This allows you to create an entire WordPress website of restaurants and menus

Can I add a menu to a page?

Yes. All you need to do is use the shortcode described above. Very simple and can be added anywhere in a page in minutes.

My menu breaks my theme, what can I do?

An issue that sometimes comes up is the slug of the page conflicts with theme styles. Avoid a page slug like ‘menu’ which may conflict with menu stylings.


January 7, 2019
I can’t believe people think that all plugins that are free can’t have a paid version with more options … I use the free version for many sites for many years and it’s responsive, it’s fantastic and it’s easy to use … Sincerely, Ocala Website Designs LLC
February 7, 2017
Another pay plugin that does not clearly state that you need to open your wallet in order to use it’s full potential. Works ok, you can create menus… free, but no images can be inserted, no icons can be uploaded in free version. It costs $240/yr at the moment to get the “upgraded” version. I wonder why they show the thumbnails and nice images functionality in the screenshots if that is actually NOT included…
Read all 6 reviews

Contributors & Developers

“OpenMenu – The official plugin for OpenMenu” is open source software. The following people have contributed to this plugin.




  • Updated embedding shortcode method to use the new responsive embedding code


  • Release for WordPress 5.4.2
  • Fixed issue with menus not displaying using shortcode


  • Release for WordPress 5.2.2
  • Fixed issue with create_function deprecated message


  • Release for WordPress 4.8


  • Fixed deprecated function issues in the Widgets code


  • Fixed issues for SSL sites


  • Support for WordPress 4.4


  • Support for WordPress 4.3


  • Updated OpenMenu inputs now take the OpenMenu ID instead of the OpenMenu URL
  • Add embedded option to the openmenu shortcode. This builds the menu using OpenMenu Embedded instead of building locally.


  • Fixed issue with one-column rendering not working from shortcodes


  • Support for WordPress 3.8.1


  • Support for WordPress 3.8
  • Add group_break parameter to the openmenu shortcode. This can override the global setting


  • Support for WordPress 3.7
  • Updated the menu/group filtering in shortcodes to handle an ampersand properly
  • Updated the single-openmenu custom post page to properly support an ampersand in filtering


  • Support for WordPress 3.5.2
  • Updated the render class to fix issues with currency symbol for some European countries


  • Added the new Group Break rendering option to display a 2-coumn display with a hard break between groups


  • Updated the render class to show a key for short tags showing only the tags used in the OpenMenu


  • Updated the render class to fix issues with currency symbol for some European countries


  • Updated the render class to fix issues with currency symbol for some European countries


  • Added option to QR widget to open the mobile site link in a new window
  • Added Deal Widget so an OpenMenu’s deals can be placed into a widget ready theme
  • Added [openmenu_deals] shortcode


  • Added an OpenMenu Filter widget
  • Updated Specials Widget to properly handle currency symbols
  • Removed unused functions and cleaned up existing codebase


  • Updated aspect ratio issue with image thumbnails
  • Changed name of myfeed_request() function to prevent conflicts


  • Updated render class to fix issue with Menu Item Images not showing
  • Updated the default style to better align with the base style provided by OpenMenu on all menu renderings


  • Fixed issues where some user experienced blank menus


  • Added Show/Hide prices to Settings -> OpenMenu
  • Updated render and reader engine


  • Updated render class to better support foreign currencies


  • Added ‘Include Mobile Link’ to QR Code widget so a direct link to a restaurants mobile site on OpenMenu is displayed
  • Updated some copy to better align with the OpenMenu brand
  • Fixed state missing from Restaurant Location widget
  • Fixed ref parameter


  • Updated menu renderings to include short tag renderings
  • Added a new Use Short Tag option to the global OpenMenu settings – this allows menu item tags like special, vegan, vegatarian to be shortened to one or two letters.


  • Updated render class to support filters with quotes and commas in their names


  • Added support for OpenMenu Format v1.6
  • Added Menu and Menu Group notes to rendering
  • Added gluten-free tag to menu rendering
  • Updates to support WordPress 3.3


  • Updated Menu and Menu Group filters to support comma-separated lists


  • Fixed function names to prevent collision with other plugins/themes


  • Fix issue with render class handling carriage returns
  • Updated reader class to work with disabled items (will not read them from an OpenMenu)


  • Update render class to handle carriage returns in menu item descriptions
  • Fix issue with the OpenMenu attribution appearing twice


  • Updated Render class to v1.3.4
  • Update to the display of calorie information
  • Better support for pricing localization


  • Fixed function naming issue which caused problems in some themes


  • Fixed menu/menu group filter issue


  • Added QR Code widget
  • Added shortcode for QR Codes (openmenu_qrcode)
  • Added new Your Menu section to OpenMenu Settings allowing you to control some of the menu information displayed
  • Update OpenMenu settings to include Split On (you control whether the menu split 2 column displays on Menu Groups or Menu Items – defaults to Menu Item
  • Update openmenu shortcode to include the new split_on parameter


  • Fixed bom issue causing problems


  • Fixed issue with encoding on currency symbols


  • Added price to Menu Group Options and Menu Item Options


  • Updated to support OpenMenu Format v1.5


  • Added Menu URL and Menu URL Title to the Menu Widget
  • Rename get_custom_field to om_get_custom_field to prevent conflicts with themes


  • Added background_color attribute to the OpenMenu shortcode
  • Modified CSS on default theme – change dl from overflow:auto to overflow:hidden
  • Updated main code to read OpenMenu’s (v1.4)
  • Updated some code to be compatible with WordPress 3.2


  • Fixed issue with special characters in the menu or group filter not working properly


  • Fixed issue with widgets (missing function)


  • Fixed issue with widgets (missing function)


  • Removed unused function
  • Fixed Thumbnail to 32px x 32px per the OpenMenu Format
  • Fixed issue with empty menu groups causing error


  • Added Currency Symbols to menu item prices and alternate size prices


  • Minor bug fixes


  • Text and copy changes only


  • Added Thumbnail images to menu listing
  • Remove Setting link from plugin page (permission issue for some users)
  • Update the location of the sample menu to
  • Moved the styling of the OpenMenu tag to the OpenMenu theme stylesheet


  • Fixed display issue with 2-column menu


  • Updated to handle v1.2 of the OpenMenu Format
  • Added group name filter to shortcode and OpenMenu posts


  • Fixed issue where special characters were being double encoded and therefore not dispayed properly


  • Updated OMF Reader class to handle server configuration that don’t support simple_xml
  • Fixed issue with handling missing information from custom post types / options


  • Fixed issue with Dashboard display


  • Added Menu / Menu Group Widget
  • Added auto-detection of installed plugin folder (no longer assume /openmenu folder)
  • Updated Restaurant Location widget to add the Include Hours setting
  • Updated Specials Widget to include Menu Name filter
  • Fixed issue where empty menu group (no menu items) caused crash


  • Initial public release