

The live Bayle menu on a restaurant page, in the theme's style.
Bayle Menu Widget shows a restaurant’s live Bayle menu on a WordPress page. Dishes, prices, sizes, allergens and diets, photos and the weekly lunch list are managed in Bayle; the plugin shows them as part of your page, styled by your theme (fonts, colours, readable by search engines).
This plugin is an interface to the Bayle menu service at https://menu.bayle.food. You need an active Bayle restaurant with the menu module turned on. Each site sets its own restaurant slug in Settings Bayle Menu. The plugin stores only the slug, default language, display options and the menu base URL. It does not store API keys.
Add the Bayle Menu block, or the shortcode [bayle_menu_widget] (also available as [bayle_menu] when no other plugin uses that shortcode).
For table booking, see the separate Bayle Booking Widget plugin.
This plugin connects to the Bayle menu service, operated by Bayle (https://bayle.food). It is required: without it there is no menu to show.
https://menu.bayle.food (or another official https://*.bayle.food host set by the site admin).https://menu.bayle.food/api/{slug}/menu?lang=… when a page with the menu is viewed and no fresh cached copy exists, at most once every 10 minutes per language, and when the admin clicks “Refresh menu now”. It sends the restaurant slug and language, and your site address in the User-Agent. Visitors’ browsers do not contact Bayle for the menu text.images="0".https://menu.bayle.food/{slug}?embed=1&lang=…, which sends the visitor’s IP address and your site address as part of the normal page request.https://*.bayle.food page or the restaurant’s own Bayle-hosted store (https only). Contact details (name, email, phone), pickup time and card payment are entered there, not in WordPress.https://captcha.bayle.food. No Google reCAPTCHA is used, and this plugin does not load the captcha script on your site.The plugin’s only server-side request is the public menu feed above. It sets no cookies and adds no tracking. The pickup order in progress is kept in the guest’s browser (localStorage) until checkout or until the guest empties it.
Basic:
[bayle_menu_widget]
Options:
slug="your-restaurant" – show another restaurant than the one in Settings.lang="fi|sv|en" – fixed language. If omitted, the Settings default, then the visitor’s language (site language, Polylang or WPML).display="native|iframe" – in your theme’s style, or the embedded Bayle page.layout="list|grid", images="0" (no photos), categories="0" (no section links), ordering="0" (menu only), heading="2|3|4" (section heading level).base_url – only an official https://*.bayle.food address; other values are ignored.Example: [bayle_menu_widget slug="your-restaurant" lang="fi" layout="grid"]