Jesse Cortez

Simple Retail Menus

A WordPress Plugin that allows you to easily create and manage salon, restaurant, or retail store menu lists of services, food items, retail items, or other data.

Perfect for salon, restaurant, and retail store websites, as well as many other applications. Simple Retail Menus lets you create and manage menu-type lists for display in a post or page. This is a free, full-featured plugin. Create as many menus as you want, add as many items as you want to any menu, add menus to any post or page on your WordPress site.It’s simple and easy to use! Just build your menus, then copy/paste the resulting ‘shortcode’ into you post or page.

Example of a shortcode:


  1. Upload the entire ‘simple-retail-menus’ folder to the ‘/wp-content/plugins/’ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.

Basic Use

  1. Click ‘Add new Menu’ link on the main Retail Menu plugin page. Give your menu a name (required) and a description (optional). Click ‘Add Menu’.
  2. Add as many items as you want to your menu. Item Names are required. Image thumbnail, description and value fields are optional.
  3. Menu information and menu item information can be updated or deleted at any time. As of version 1.1, basic html can be included in all menu fields.
  4. Change the order of menu items by dragging the rows of menu items into the desired order, then clicking ‘Update Items’.
  5. Get the menu Shortcode. Choose your display options, then copy the resulting ‘shortcode’ into the content of any page, post, or the Sidebar Text Widget.

You can include HTML tags in all menu fields, so hyperlinks, image links, in-line styles and formatting tags are supported.


Define styles in your WP template stylesheet to change the menu styles. See Custom Class Example for reference CSS.

Display Options

Note: Default options do not need to be included in the shortcode. The only required attribute in the shortcode for a menu to display is ‘name’.


Refers to the containing DIV that is generated for every menu.

Options for ‘class’

  • Three class styles are built into Simple Retail Menus: ‘default’, ‘light’, and ‘dark’.
  • If you create your own custom class for your menus you can enter it under the ‘custom’ option.
    Note that the custom class text field will only allow you to enter valid CSS class names. See ‘display.css’ for css style structure.


Refers to the name of your menu. It can be displayed in any html containing element.

Options for ‘header’

  • Any html container: div, span, p, h1-h6, section, article, etc.
  • ‘none’ will cause the menu title to not display.
  • Default: ‘h2’.


Refers to the description of your menu. It can be displayed in any html containing element.

Options for ‘desc’:

  • Any html container: div, span, p, h2-h6, section, article, etc.
  • ‘none’ will cause the menu description to not display.
  • Default: ‘p’


Refers to the html structure the menu data is displayed in. YOu can choose to display any menu as rows in a table, Ordered list, unordered list, definition list or as a series of nested divs.

Options for ‘display’:

  • ‘table’
  • ‘ul’
  • ‘ol’


Version 4.2
* Added a loop to include placeholder values for multiple value column data

Version 4.1
* Improved security against sql injection

Version 4.0

* Image Thumnails use WP sized images
* Image thumbnails can have links
* Updated Admin UI
* Added Rollover zoom for image thumbnails in admin view
* Improved page display code
* Added Admin Bar node for plugin
* Added option for legacy page desiplay for v3 and below.
* Added Variable number of value columns
* Added Ability to hide items from display

Version 3.0
* Multisite Capable
* Menus gain a ‘label field’, a display name in the admin area. Does not display in page/post html.
* Definable menu column headers
* Image uploading for menu items
* Optional second ‘value’ field
* Output HTML and CSS updates

Version 2.0
* Added the capability to add a menu to the Sidebar by including the shortcode in the Text Widget.
* Changed the shortcode to use the ID, rather than the NAME of a menu. NOTE: Name can still be used, but ID is preferred.

Version 1.1.1
* Fixed a bug in the Javascript that caused menu list in Admin display to be disabled.

Version 1.1
* Added the ability to include basic html in all menu fields. You can now have hyperlinks, image links, and inline styles in your menus.

Version 1.0.1
* Fixed Form Action for Add New Menu



  1. Sandy says:

    Is this plugin responsive?

  2. Chris Nicholaidis says:

    Jesse- great little plugin!

    Most likely the answer is staring me in the face but I was wondering how you can import info in the menu from a csv or xls file?

    We have a client who is a dry cleaning company and the pricelist are HUUUUUGE and will save about 18 hours of work.

    Cheers in advance

  3. Manisha says:

    Thanks for the great plugin! I was trying to add images to menu items but it doesn’t seem to work. A thumbnail square on the menu admin panel goes white and when update menu is clicked, it goes back to default add image thumbnail. Thanks!!

    • Jesse says:

      Make sure that when selecting the image in the Media Uploader, that you have “File URL” selected as the Link URL. This will pass the image file location to the Menu Admin page. If you have the Link URL set to “None”, it won’t pass the image location to the menu.

  4. shag says:

    Great Plugin. Thanks for the work. Overall very flexible with CSS styling. One suggestion though: add a span with a class on it wrapping the item titles. This would make styling that particular element much easier. The rest of the markup seems to be wrapped in style-able elements but not item titles which is key.


  5. Steve says:

    Hi Jesse, thanks for the plugin.

    Is there anyway to increase the font of the item and item description, not just the menu name and menu description?

    More importantly, can I ‘wrap’ the text of the item description? Some of our items have a longer description, are are getting cut of at the end of the menu window.

    Many thanks,

    WA, Australia

    • Jesse says:

      Hi Steve,

      Yes, you can do anything you want by creating your own CSS styles. CSS has style tags for word wrapping table cells. Or, you can set specific widths for the tables or table cells by creating your own styles in your template css.

  6. Andrew Jackson says:

    I just found this plugin and started to use it on a site I am making. I’ve had to add an extra style to the default css to force the table to be 100% width. I don’t understand why I had to do this as on most pages the extra style was not necessary, anyway I’ve posted the code here just in case other people are finding that their tables are not 100% width

    jsrm-menu table, .jsrm-menu ol, .jsrm-menu ul, .jsrm-menu dl, .jsrm-menu>div{
    border: 1px solid #ccc;
    border-radius: 4px 4px 4px 4px;
    border-spacing: 0;

    • Jesse says:

      Tables by default will automatically set their width based on their content unless given a specifc style otherwise. Thanks, Andrew, for sharing your modification to the standard CSS. The sky is the limit with how much you want to customize your tables using your own CSS.

  7. James Murphy says:

    Hi Jesse,

    1st – Thanks for your work in providing this Awesome Plugin!! Very Useful.


    Please advise How I May Save and Export (an already completed MENU) to another WordPress Installation?

    DETAILS: I recently migrated a Full WordPress Restaurant WebSite to a client’s Domain and Hosting. I am usually able to save all Plugin Settings and Configurations when migrating a WordPress site via WP Twin (WordPress cloning plugin).

    For some Reason SIMPLE MENUS Plugin did not save MENUS which I had already spent several hours inputting :(
    Glitch of some sort. Not Your Plugin.

    Anyhow, I am a novice at this stuff, but was wondering if you might know how I could successfully Export and Import ALL of the MENU Contents & Data – which I already inputted during Original Site Build on My Hosting / Test Environment?

    Any guidance would be much appreciated!!

    James M.
    Honolulu, Hawaii USA

    • Jesse says:

      Thanks! Simple Retail Menus menu data is stored in two tables int he WordPress database: ‘jsrm_menus’ and’ jsrm_items’. You can export and import this data with most WordPress backup plugins, or by using your php admin control panel.

  8. Tom says:

    Hi, love the plugin! What’s the easiest way to centralize the menu?

  9. Franklin says:

    Hi I like your plugin. Thanks!
    Is there any way I can add new column? for example there is Small Medium Large and each has different prices. How can I add columns for that?

    • Jesse says:

      Although I have plans for a flexible version of the plugin for release in the future… for now I can craete custom versions of the plugin with minor modifications in exchange for donations. Email me about what you need exactly and we can discuss it.

  10. Brian Collins says:

    Will you be making this multi site compatible? I love this plugin and would love to use it on my mobile site platform – I have experimented on single sites and it works great. Would love to use on multi sites. NIce Job! Awesome Plugin!

    • Jesse says:

      I plan to start working on a multisite version soon.

      • Ruud says:

        I noticed that people have problems with a multi site install. Just wanted to share my experiences. When I activate it network wide, it doesn’t work. I can add menu’s, but they are not shown. Also, on every site it lists all menu’s of all sites. However, when I activate it for an individual site in a multi site install, it works fine.
        Thanks for this great plugin and good luck with the multi site (network wide activation) support.

        • Jesse says:

          This plugin (as of version 2.0) is not designed to work with Multisite configurations. I am currently working on a making it compatible with Multisite for the upcoming version 3.0 release. I don’t have a date for the release set, but as soon as I have a stable working version, it will be released.

      • Craig says:

        Pleasseeeeeeeeeeee make this MS compatible. I am more than happy to pay for this working on MS. Cheers.

  11. jim says:

    Could I see some links to websites using this plugin? Thanks!

    • Jesse says:

      I would like to see some also. Does anybody want to share their work using this plugin? Send me your url and I’ll create a list or gallery of sites using the SRM plugin. Thanks!


  12. Andy says:


    Just write again to make things clear
    1. Database set to UTF8 unicode
    2. Reading setting set to UTF8
    3. Tried Chinese and Japanese, all good on other post and pages, but not Retail Menu
    4. All double-bytes “transformed” into “???” (questions marks)

    • Jesse says:

      I’ll research this. If nothing else, creating this plugin has made me learn alot of stuff I wouldn’t have otherwise!


  13. Andy says:

    Hi Jesse,

    Great plugin !!! Thanks !!!!

    I’m testing the plugin today and found it is easy to use and fully functioning except one ting – Asian language (characters) seems not currently supported. Is there a way to sort this out?

    Thanks again for creating this nice plugin!


    • Jesse says:

      I have added that to my list of improvements to consider in an upcoming release. Sorry that the plugin doesn’t support all languages as of now.

  14. Elizabeth says:

    Hi There,
    Thanks for creating such a great, simple plugin! I hope my question has a relatively simple answer. My client wants the background of the menu to just be white (not shaded like it currently is displayed). I’m sure I can edit this in the CSS, but the link you referred to above on how to do this doesn’t work (the Custom Class Example).
    Thanks so much for your help.

  15. Rory says:

    Hi, love this plugin think I found a wee bug in the CSS line 22 whereby your code affects all not just the ones created by the plugin. Fixed it by adding .jsrm-menu in front.

    • Jesse says:

      Oops, you are correct. Line 22 of display.css should be changed to:

      .jsrm-menu ol, .jsrm-menu ul{padding: 0;}

      Thanks for the eagle eye!

  16. Don says:

    Hi Jesse-
    Your plugin wins easily over anything I have yet to see. Love it. I as well would like to chime in about the thumbnails in the menus-even if it is associated with only the individual menus. I do not mind adding the images myself and working a little css magic, if necessary. There are many themes out there that are really good from the layout, but drilling down to the functions-they try to accomplish too much. So i end up picking the best of everything and combining them into a WP configuration – restaurant menus, events, coupons-what I like about this approach is that I can use the same plugins for the main site and the mobile site. Then the client only needs to update one source–much easier!
    I also did a jquery slider and put in individual menus under each header-renders very nicely and makes a very slick interface. Great job!

    • Jesse says:

      Thanks Don! I’d love to see the instances of the plugin in action. Send me your links if you don’t mind, I can either post them as examples or keep them private, depending on your wish. Thanks!


    • Jakob says:

      Don, could you share a link to see your work in action, if you don’t mind?
      or even share it with us as examples?

      did anyone else customized retail user menus for his/her own needs, and could give me some litte example or help? I have more free time at the moment and want to program some features for this amazing plugin!

  17. field says:

    Hi! Nice plugin! Very useful! Is it possible to backup the entire menus created with the plugin and restore them to another (fresh) installation of wordpress?

    • Jesse says:

      At this time there is not a built-in backup function. There are several WP backup plugins available that will help you with this.

  18. Pat says:

    Hey, great plugin! Really easy to use. I was just wondering if there is a way to list items without a numbered list? I’m going to try and line up two menus side by side using columns, but I really prefer no number prefixes. Do you know if there is a way to do that?

    • Jesse says:

      Certainly. By default the menu data is displayed in a table, which has no numbering. Simply set the “Display menu as” option to “table”, and use the resulting shortcode in your post.

  19. Michael says:

    Just tried 2.0 on a WordPress Multi Site (3.2.1). Almost works.

    Everytime you create a menu, save or update, it jumps back to the main home domain. i.e.:

    instead of:

    (It might be why Doreen above is seeing nothing – it goes back to the main domain which is probably empty)

  20. Marcos says:

    Thank you very much for this plugin. I’m starting to use and learn about WordPress. I have a question: how to add a dotted line between an item and the value (such as a restaurant menu) using only CSS, without having to modify PHP side of the plugin? It is possible? I saw a tutorial that explains how to do it, but I can achieve the effect.

Leave a Comment