{"id":369635,"date":"2026-09-21T09:00:49","date_gmt":"2026-09-21T09:00:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/digital-menu-for-restaurants\/"},"modified":"2026-09-21T09:00:22","modified_gmt":"2026-09-21T09:00:22","slug":"plugtide-digital-menu-for-restaurants","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/plugtide-digital-menu-for-restaurants\/","author":23563456,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.2","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"PlugTide Digital Menu for Restaurants","header_author":"PlugTide","header_description":"Digital menu \/ food card for restaurants and bars. Categories, allergens, optional prices and an allergen-aware search. Renders with the [digital_menu] shortcode. Uses its own database tables.","assets_banners_color":"727f84","last_updated":"2026-09-21 09:00:22","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/plugtide.com\/plugin\/digital-menu-for-restaurants\/","header_author_uri":"https:\/\/plugtide.com\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":60,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"plugtide","date":"2026-09-21 09:00:22","revision":3705215}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3705209,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3705209,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3705209,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3705209,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3705209,"resolution":"1","location":"assets","locale":"","width":1730,"height":871},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3705209,"resolution":"2","location":"assets","locale":"","width":1755,"height":632},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3705209,"resolution":"3","location":"assets","locale":"","width":1750,"height":1337},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3705209,"resolution":"4","location":"assets","locale":"","width":1217,"height":856},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3705209,"resolution":"5","location":"assets","locale":"","width":1191,"height":693},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3705209,"resolution":"6","location":"assets","locale":"","width":901,"height":811}},"screenshots":{"1":"Products screen in the admin.","2":"Categories screen in the admin.","3":"Diets and Settings screens in the admin.","4":"The front-end menu: search, allergen and diet filters.","5":"The Minimal theme.","6":"The Fine dining theme, filters hiddenb."}},"plugin_section":[],"plugin_tags":[157429,126510,30524,1865,20710],"plugin_category":[39,43],"plugin_contributors":[281801],"plugin_business_model":[],"class_list":["post-369635","plugin","type-plugin","status-publish","hentry","plugin_tags-allergens","plugin_tags-digital-menu","plugin_tags-food-menu","plugin_tags-menu","plugin_tags-restaurant","plugin_category-business","plugin_category-customization","plugin_contributors-plugtide","plugin_committers-plugtide"],"banners":{"banner":"https:\/\/ps.w.org\/plugtide-digital-menu-for-restaurants\/assets\/banner-772x250.png?rev=3705209","banner_2x":"https:\/\/ps.w.org\/plugtide-digital-menu-for-restaurants\/assets\/banner-1544x500.png?rev=3705209","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/plugtide-digital-menu-for-restaurants\/assets\/icon-128x128.gif?rev=3705209","icon_2x":"https:\/\/ps.w.org\/plugtide-digital-menu-for-restaurants\/assets\/icon-256x256.gif?rev=3705209","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/plugtide-digital-menu-for-restaurants\/assets\/screenshot-1.png?rev=3705209","caption":"Products screen in the admin."},{"src":"https:\/\/ps.w.org\/plugtide-digital-menu-for-restaurants\/assets\/screenshot-2.png?rev=3705209","caption":"Categories screen in the admin."},{"src":"https:\/\/ps.w.org\/plugtide-digital-menu-for-restaurants\/assets\/screenshot-3.png?rev=3705209","caption":"Diets and Settings screens in the admin."},{"src":"https:\/\/ps.w.org\/plugtide-digital-menu-for-restaurants\/assets\/screenshot-4.png?rev=3705209","caption":"The front-end menu: search, allergen and diet filters."},{"src":"https:\/\/ps.w.org\/plugtide-digital-menu-for-restaurants\/assets\/screenshot-5.png?rev=3705209","caption":"The Minimal theme."},{"src":"https:\/\/ps.w.org\/plugtide-digital-menu-for-restaurants\/assets\/screenshot-6.png?rev=3705209","caption":"The Fine dining theme, filters hiddenb."}],"raw_content":"<!--section=description-->\n<p>Digital Menu for Restaurants turns any page into a clean, filterable food menu. It stores its data in its own database tables and does not depend on WooCommerce, ACF or any page builder.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Categories with one level of sub-categories, reordered with up\/down buttons.<\/li>\n<li>Products with description, up to two prices, featured flag, allergens and diet tags.<\/li>\n<li>Guided setup: a \"Getting started\" panel and an optional one-click sample menu to explore prices, filters and themes before building your own.<\/li>\n<li>The 14 EU allergens (Regulation 1169\/2011) are pre-loaded and fixed; only the emoji can be changed.<\/li>\n<li>Diet tags: your own dietary filters, full add\/edit\/delete, shown as a second filter row. Each tag can either hide dishes that have it (pork, alcohol, spicy\u2026) or show only the dishes that have it (vegan, vegetarian\u2026) \u2014 you choose per tag.<\/li>\n<li>Front-end search plus allergen and diet filters, all client-side (no extra requests). The search box, filters and per-dish markers can each be turned on or off. The filter lists only the allergens the menu actually contains, with an optional note so a missing allergen reads as genuinely absent, not forgotten.<\/li>\n<li>Optional, automatic \"menu updated\" date at the bottom of the menu.<\/li>\n<li>No hedging: an allergen is declared on a dish or it is not. The plugin has no \"may contain traces\" and no cross-contamination disclaimer.<\/li>\n<li>Optional prices \u2014 up to two per product, each with its own label (e.g. \"Full portion\" \/ \"Half portion\") \u2014 with a configurable currency symbol and position.<\/li>\n<li>A \"Recommended\" section built from the products you mark as featuredt.<\/li>\n<li>Four built-in themes (Bistro, Fine dining, Modern, Minimal) \u2014 fixed designs\nchosen from a dropdown \u2014 plus a Custom mode with full control over colours,\nfonts, text size, layout, card border\/shadow\/corners and an optional header\nimage. Four fonts are bundled locally \u2014 no external requests.<\/li>\n<li>Optional footnote at the bottom of the menu (e.g. \"Prices per person\").<\/li>\n<li>CSV import and export of products, with a downloadable template, a preview step before anything is written, and loose matching of allergen names (typos are corrected and shown in the preview).<\/li>\n<li>Sober, responsive default styling, with a documented set of CSS variables for full control from your theme's own Additional CSS.<\/li>\n<\/ul>\n\n<p><strong>Usage<\/strong><\/p>\n\n<p>Add the shortcode to any post or page:<\/p>\n\n<pre><code>[digital_menu]\n<\/code><\/pre>\n\n<p><strong>Privacy<\/strong><\/p>\n\n<p>The plugin does not collect personal data, set cookies or contact any external service.<\/p>\n\n<p><strong>Accessibility<\/strong><\/p>\n\n<p>The front-end menu is built to WCAG 2.1 AA with the built-in themes: semantic\nheadings, real buttons and inputs (full keyboard support), visible focus, filter\nbuttons that announce their state, a live region for the result count, decorative\nicons hidden from assistive tech, and colour contrast that stays at 4.5:1 even\nwhen you pick your own colours in the Appearance tab. The menu's own colours,\nbackgrounds and borders always apply as chosen \u2014 they do not mix with your active\ntheme's button, heading or link styling. If you add your own CSS through your\ntheme's Additional CSS, keeping that accessible is up to you.<\/p>\n\n<p><strong>Bundled fonts<\/strong><\/p>\n\n<p>Playfair Display, Lora, Poppins and Inter are bundled in <code>assets\/fonts\/<\/code> under\nthe SIL Open Font License 1.1 (<code>assets\/fonts\/OFL.txt<\/code>). They are served from the\nplugin folder; nothing is requested from Google Fonts or any CDN.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>plugtide-digital-menu-for-restaurants<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install it from the Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open <strong>Digital Menu<\/strong> in the admin menu to add categories and products.<\/li>\n<li>Put <code>[digital_menu]<\/code> on the page where the menu should appear.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20support%20prices%3F\"><h3>Does it support prices?<\/h3><\/dt>\n<dd><p>Yes. Each product has an optional price plus an optional second price, each with its own label (for example \"Full portion\" \/ \"Half portion\" or \"Glass\" \/ \"Bottle\"). Leave an amount empty to hide it. The currency symbol and its position are set under Digital Menu \u2192 Settings.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20prices%20for%20the%20whole%20menu%3F\"><h3>Can I hide prices for the whole menu?<\/h3><\/dt>\n<dd><p>Yes, with the \"Show prices\" toggle in Settings.<\/p><\/dd>\n<dt id=\"which%20allergens%20are%20included%3F\"><h3>Which allergens are included?<\/h3><\/dt>\n<dd><p>The 14 allergend required by EU Regulation 1169\/2011. They cannot be added to or\nremoved (they are a legal requirement); only their emoji can be changed. For\nanything else diners might want to avoid \u2014 pork, alcohol, spicy \u2014 use the Diets\nscreen, which is fully editable.<\/p><\/dd>\n<dt id=\"is%20the%20data%20removed%20when%20i%20uninstall%3F\"><h3>Is the data removed when I uninstall?<\/h3><\/dt>\n<dd><p>Yes. Uninstalling the plugin drops its tables and options. Deactivating does not.<\/p><\/dd>\n<dt id=\"can%20i%20import%20my%20dishes%20from%20a%20spreadsheet%3F\"><h3>Can I import my dishes from a spreadsheet?<\/h3><\/dt>\n<dd><p>Yes. Digital Menu \u2192 Import \/ Export has a downloadable CSV template with example\nrows. Fill it in (only <code>name<\/code> and <code>category<\/code> are required), then upload it: you\npick whether to add new dishes only, add and update, or replace everything, and\nyou see a preview \u2014 how many rows are new, updated, skipped or in error, plus any\nallergen spelling that was corrected \u2014 before anything is written. Missing\ncategories and sub-categories can be created automatically. The Export button\ngives you the same CSV of your current products for backups or bulk edits.<\/p><\/dd>\n<dt id=\"how%20do%20i%20customise%20the%20design%20with%20my%20own%20css%3F\"><h3>How do I customise the design with my own CSS?<\/h3><\/dt>\n<dd><p>Use your theme's own Additional CSS (Appearance \u2192 Customize \u2192 Additional CSS,\nor the Styles panel in the Site Editor). Everything is inside <code>#dmenu-root.dmenu<\/code>. The quickest way is to override the CSS\nvariables (indent a block by four spaces to make it a code block):<\/p><\/dd>\n<dt id=\"dmenu-root.dmenu%20%7B\"><h3>dmenu-root.dmenu {<\/h3><\/dt>\n<dd><p>--dmenu-primary: #c0392b;          \/* prices, active filters, rules  <em>\/\n        --dmenu-primary-contrast: #ffffff; \/<\/em> text on the primary colour     <em>\/\n        --dmenu-menu-bg: #fbfbfb;          \/<\/em> page background                 <em>\/\n        --dmenu-card-bg: #ffffff;          \/<\/em> product card background         <em>\/\n        --dmenu-text: #1a1a1a;\n        --dmenu-muted: #6b6b6b;            \/<\/em> descriptions, secondary text    <em>\/\n        --dmenu-line: rgba(0,0,0,.12);     \/<\/em> borders \/ separators            <em>\/\n        --dmenu-hero-bg: #1c1c1c;\n        --dmenu-hero-text: #ffffff;\n        --dmenu-font-heading: \"Georgia\", serif;\n        --dmenu-font-body: system-ui, sans-serif;\n        --dmenu-radius: 10px;              \/<\/em> card \/ control corner radius    <em>\/\n        --dmenu-card-border: 1px solid var(--dmenu-line);\n        --dmenu-card-shadow: 0 4px 14px rgba(0,0,0,.07);\n    }\n    .dmenu-hero { background-image: url(\"https:\/\/example.com\/menu-bg.jpg\"); } \/<\/em> logo \/ image *\/<\/p>\n\n<p>Useful classes: <code>.dmenu-hero__title<\/code>, <code>.dmenu-toolbar<\/code>, <code>.dmenu-tag<\/code>,\n    .dmenu-tag.is-active, <code>.dmenu-category__title<\/code>, <code>.dmenu-subcategory__title<\/code>,\n    .dmenu-product, <code>.dmenu-product.is-featured<\/code>, <code>.dmenu-product__name<\/code>,\n    .dmenu-product__price, <code>.dmenu-product__desc<\/code>, <code>.dmenu-product__markers<\/code>,\n    .dmenu-footnote. The root also carries a layout class:\n    .dmenu--layout-grid \/ <code>-two-col<\/code> \/ <code>-list<\/code> \/ <code>-centered<\/code>.<\/p>\n\n<p>Colours, backgrounds and borders are locked to the theme you pick \u2014 on purpose,\nso the menu never mixes with your active WordPress theme's own button, heading\nor link colours. Changing the CSS variables above always works. If you target a\nclass directly instead (e.g. <code>.dmenu-tag { background: #000; }<\/code>), add <code>!important<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>Four built-in themes plus a Custom design mode, optional per-product prices,\noptional menu footnote, the 14 EU allergens with automatic translation,\nfront-end search and allergen filters.<\/li>\n<li>CSV import\/export of products with a template download and a preview step.<\/li>\n<li>Getting-started panel, contextual help tabs and an optional sample menu.<\/li>\n<li>Allergen filter shows only the allergens the menu contains; optional\n\"menu updated\" date; text-size control in the Custom design mode.<\/li>\n<li>Diet tags can hide matchingh dishes or show only matching dishes, chosen per tag.<\/li>\n<\/ul>","raw_excerpt":"Digital menu for restaurants and bars: categories, allergens, optional prices and an allergen-aware search. Add it to any page with a shortcode.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/369635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=369635"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/plugtide"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=369635"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=369635"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=369635"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=369635"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=369635"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=369635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}