WP InPlate's change history, newest version first. You install updates from the WordPress dashboard, like any plugin. Unless a version says otherwise, the update requires no configuration changes.
1.35.2
New
- The setup wizard goes back to the step last open. The step list on the left lets you click every step opened before – no need to go through the wizard from the start. Steps finished with “Next” have a ✓.
- Pretty permalinks – with the “Plain” format (
?p=123) the KDS, the courier app and the table QR codes opened with a 404 error. The wizard (WooCommerce step) and Readiness to sell now warn about it and switch to the “Post name” format with Turn on pretty permalinks. When the stored address rules lack InPlate's, the plugin rebuilds them itself. - The products list (Products → All Products) hides the SKU, GTIN, Product brands and Date columns by default. You turn them on in Screen Options.
Fixes
- The wizard's Hours and schedule step now sets the online order-taking hours from–to, as in InPlate → Schedule, instead of the old “Order deadline”. Every group of hours says exactly what it sets.
1.35.1
Fixes
- After Activate License on the license screen the plugin goes straight on to the setup wizard and confirms “License accepted”. Before, the screen gave no answer even though the license was already saved. Once the wizard is done, the confirmation shows in the InPlate panel.
1.35.0
New
- Readiness to sell – at the top of InPlate → Settings → System a list says live what still blocks orders: no payment method, WooCommerce's “Coming soon” mode, no delivery zone or store pages. It also warns about a missing pickup address, allergens, terms, a kitchen staff account and KDS notifications. Every item leads to the place where you fix it, and a store in “Coming soon” mode is launched with Launch the store. See Setup wizard.
- While something blocks sales, the InPlate screens in the WordPress panel show a “The store won't take orders” notice.
- Setup wizard – a new Payments step (pay at the counter and pay the courier on straight away), the Dine-in method with its hours, the minimum and free delivery in the zone, a Pickup address step and a “Coming soon” warning.
- You now set the pickup address in InPlate → Settings → Sales. An address entered earlier in the WooCommerce shipping method still works and shows in these fields.
- The sample data has allergens filled in and a pizza in two sizes.
Changes
- Descriptions shown as text leave out script and style contents, and the description on TV screens is filtered like the menu's.
1.34.1
Fixes
- Dish and category descriptions no longer show “
” tags on menu cards, under category names and on dish-of-the-day cards – in translated menus too. The dish window still shows the description with its paragraphs.
1.34.0
New
- Free delivery from an amount per delivery zone – next to the delivery cost and the minimum, every zone has a Free delivery from field, e.g. a €20 courier fee but free delivery from €199. What counts is the value of the products after discounts, as for the minimum. See Delivery and zones.
- In the order summary the customer sees how much is missing for free delivery, and from the threshold the fee struck through and “Free”. The order, the KDS, the label and the emails name the delivery “Free delivery from €199”.
- The delivery checker and saved addresses show the threshold only when the zone has one.
Fixes
- The delivery checker shows the zone's order minimum – before, this line was never displayed.
1.33.3
Fixes
- The price of a counted add-on (“€0.90 each”) is translated – before, it read “€0.90 / szt.” in English.
- “From” prices on TV screens (dishes with sizes) and the amount threshold in promotion conditions say “from” instead of “since” in English. The time in the ordering pause stays “since”.
1.33.2
New
- Menu block: the Show the language switcher switch – hide the language switcher above the menu on a chosen page, e.g. when you place it in the header with the InPlate – Language switcher block. The (i) icon in the block settings says so. See Blocks and shortcodes.
1.33.1
New
- Promotion explanation – the (i) icon next to each promotion in the bar above the menu opens the full description: what the customer gets (the discount always goes to the cheapest items), from what amount, on which days and times, for which order types and whether it combines with codes. See Promotions.
- Menu block: the Show promotions switch – hide the promotions bar on a chosen page (shortcode:
show_promotions="0"). - Menu block, List layout: the Columns option – 1, 2 or 3. A narrower screen shows fewer columns, always the same number in every row. See Blocks and shortcodes.
Changes
- List cards have the same spacing everywhere (the first and last no longer differ), and the + button no longer touches the card's edge. The prices and buttons of a row are at one height.
- A fee note such as “+ €2.00 · Packaging” wraps inside a narrow card instead of running past it; in the list layout it sits above the price.
1.33.0
New
- Promotions – free delivery from an amount (also only in chosen zones), an order discount from an amount or for a chosen channel (e.g. −15% on pickup), “buy X, the next ones cheaper” (2+1 free, second pizza −50%, a free cola with every pizza) and a free item from an amount. Every promotion on chosen days, times and sales channels. Turn them on in Settings → Sales → Promotions and set them up in KDS → Manager → Promotions or InPlate → Promotions. See Promotions.
- Promotions are calculated in the cart by themselves, after every change and once more when the order is placed. The cheapest items are always the ones discounted, a free item doesn't count towards its own threshold, and if the customer changes the cart in another tab or a promotion ends, they see the new total before paying.
- The customer sees a bar with the running promotions above the menu, a line for each promotion in the cart and the summary, and suggestions, e.g. “€23.00 more for: Free delivery from €200” – with an Add button for a free item.
- By default a promotion doesn't combine with discount codes: a code pauses it, and the summary tells the customer. You can turn combining on in the promotion.
- The KDS, the label, emails and the thank-you page show the names of the promotions; free delivery is a €0 delivery line with the promotion's name.
- The manager panel in the KDS – four tabs day to day (InPlate dishes, Products, Categories, Schedule), the others under See more →, in groups. The tablet remembers the choice.
Changes
- Happy hours and discount codes show by name in the KDS and on the label – without “Coupon” for automatic discounts.
1.32.0
New
- Menu in several languages – a tourist orders in their own language: the menu, the dish window, the cart, the order form, the thank-you page and emails in English, Ukrainian or another language you turn on. The kitchen, the KDS, the courier, labels and invoices stay in your language – the order is saved in the main language. No extra plugins and no copies of products. See Menu in several languages.
- Translations in InPlate → Settings → System: you turn on Use a multilingual site and choose extra languages. On the first visit the customer sees their browser's language (or English), and has a language switcher above the menu and in the order form. A link with
?lang=en_USopens the website in that language – e.g. for a leaflet for tourists. Turning it off brings back one language, and the translations stay saved. - A language switcher as a block and the
[wp-inplate-language-switch]shortcode – e.g. for the site header. The switch above the menu can then be turned off. - The Translations screen (InPlate → Translations and KDS → Manager → Translations) – all menu texts next to their translations: dishes, categories, product tags, add-ons with options, sizes, your own allergens, fulfillment method names, consents. Filters show what is missing, and translations of texts changed later go to To check.
- DeepL suggestions – with your own free DeepL key, the Translations screen suggests the missing translations with one click; you check them and save.
- A CSV file for a translator – exporting and importing translations.
- In the product editor, the Translations (WP InPlate) box shows the progress of the dish's translations and leads to its texts.
- The cart in the theme's header (the WooCommerce mini cart, e.g. in Kadence) shows dishes, add-ons and WooCommerce texts in the customer's language.
Fixes
- A dish window closed and straight away opened for another dish sometimes showed only the dimmed background – you had to click outside. Now it always opens with the dish.
- Opening the dish window or the cart no longer shifts the page by the width of the scrollbar.
- The cart in the theme's header showed the price without add-ons for a dish with add-ons (e.g. “1 × €30.00” for an item costing €37.00). The total was correct.
- Order form: a missing email or a payment method that isn't allowed no longer leaves an abandoned order in WooCommerce.
- The default texts of the Cart block (“View order”, “Place order”) show in the website's language – until now they were in Polish on websites in another language.
1.31.2
Fixes
- KDS: the details of an order awaiting payment (and the label preview and history opened from its card) were semi-transparent and hid under cards from neighboring columns. Now they open above everything.
1.31.1
New
- Allergens on labels – a new Show allergens on labels checkbox in InPlate → Settings → Sales. When it is on, the order label lists each item's allergens under it (of the dish and the chosen add-ons). Off by default. See Labels.
1.31.0
New
- Allergens – the 14 allergens of the EU regulation with a hint where they usually hide, and your own allergens. For every dish you tick what it contains and what it may contain, and fill in Ingredients with the allergens highlighted. Add-ons and options have allergens too (e.g. pesto sauce). See Allergens.
- Customers see a Contains allergens note on the menu card with the list on hover or tap, the ingredients and allergens in the dish window, and each item's allergens in the order email.
- A checklist: KDS → Manager → Products shows dishes without allergen information and lets you add an allergen to a whole category at once.
- The allergen chart – a block and a shortcode with a printable table of dishes and allergens.
- Showing allergens in the settings: on the card and in the modal, only in the modal, or not at all – see Settings.
Changes
- The Description field in the KDS and in the InPlate dish form now suggests a short description, e.g. what the dish is served with. The ingredients have their own Ingredients field in the allergens section.
Important after the update: until you fill in a dish's allergens, customers see no information for it. Start with the Without allergen information list in the KDS.
1.30.0
New
- Switching off single fulfillment times – at peak hours you don't have to close the whole day. In the schedule, next to the chosen method (pickup, delivery, dine-in), click Switch off selected times and select e.g. 16:00–18:00 – for today or until resumed. Customers see those times greyed out (“unavailable”). It also works in KDS → Manager → Schedule. See Switching off single times.
Changes
- The list of fulfillment times always starts at the window's “from” time and goes at the set interval throughout the day. Until now a window starting e.g. at 11:10 showed 11:10, 11:25… in the morning and 11:30, 11:45… later in the day. Windows starting on the hour work as before.
- When an order is placed, the server checks whether the chosen time is still available. A customer who had the summary open when the time passed or was switched off sees the message “The time … is no longer available. Choose another time.” and the current list of times.
- Schedule, the Fulfillment windows section: the method names are larger, and in KDS → Manager the windows have more space between them.
1.29.0
New
- Shared playlists in the radio – build a stack on your phone, share it under a name (e.g. “Morning”), and every staff member can choose it from the Play: list and play it on any device, e.g. on the tablet at the bar. Sharing again under the same name updates the playlist. The listener's own stack stays unchanged, and Copy to my stack moves the tracks into their own queue, where they can arrange them their way. Only the author, an administrator or a shop manager can delete a playlist. See Shared playlists.
Changes
- The radio's player bar shows the name of the shared playlist that is playing, and its loop is Track or Playlist.
1.28.1
New
- The team start screen (
/wp-inplate/start/) has a Website tile – a shortcut to the restaurant's website as customers see it (e.g. to check the menu after changes). See Team start screen.
Fixes
- In the “Do we deliver to you?” window, a signed-in customer's saved addresses (“Your addresses”) touched the window's edge – now they have the same spacing as the address fields.
- In the same window the “optional” hint in the Unit number field was cut off and very small – the field is wider and the text legible.
- The saved address cards (the delivery window, the order summary, My account) no longer take on the look of the website theme's buttons (capital letters, hover colors).
1.28.0
New
- Dish sizes – a 32 and 40 cm pizza, a 100 and 200 g burger, a small and a large soup. You create a size set once (Products → Variant sets or KDS → Manager → Variants), assign it to a whole category and enter the prices of all dishes in one table. A dish without a price for a given size simply doesn't have it – with one size the customer doesn't choose anything. See Sizes and variants.
- Safe saving of size prices: assigning a set alone changes nothing in the menu. Preview changes shows what will happen to every product, and Apply saves exactly what you saw. The product stays the same product (photo, categories, cross-sell, happy hours, discount codes keep working), and every size has its own price, sale and history of the lowest price in 30 days.
- The customer chooses the size in the dish window; the price, weight and add-on prices change with it. The menu card shows “from €29.00”, a range or a list of sizes with prices, and the sizes can also be buttons on the card (a clicked size changes to a green “Added ✓”) – you set this in the Menu block. The size can also be changed in the cart (Personalize).
- A sold-out size: in KDS → Manager → Products every size has its own switch. Customers see a size that is off greyed out and order the others normally.
- Add-on prices that depend on size: in an add-on template you choose a size set and enter each item's price for every size (e.g. cheese €5 for a small one, €7 for a large one) or keep one price. A template can also cover only selected sizes, e.g. cheese-stuffed crust only for 40 cm. See Add-on prices that depend on size.
- Duplicate next to add-on templates, cross-sell templates and size sets – a copy with all settings, assigned nowhere, opened in the editor straight away.
- The kitchen, the courier, the label and emails show the size in the item's name, e.g. “Margherita – 40 cm”.
Changes
- The add-on template editor describes all fields (add-on name, group, extra charge, amount, price per piece, options, at least / at most) and has clear type names: “Yes / no”, “One option”, “Dropdown list”, “Quantity (− / +)”, “Switch A / B”, “Mandatory surcharge” – each with one sentence on how it works for the customer.
- The pages of add-on templates, cross-sell templates and size sets have a header like other WooCommerce pages (an Add … button next to the title), a short description of what they are for, and no longer touch the right edge of the screen.
- The manager panel in the KDS has a new Variants tab.
- The mandatory surcharge shows under the price on the menu card and in cross-sell suggestions, e.g. “+ €2.00 · Packaging” – before, customers learned about it only in the cart.
- Packaging for takeaway only: a mandatory surcharge in an add-on template has a When to add field (pickup, delivery, dine-in, QR table). A pizza box is added for every dish – also at a price that depends on the size – only for pickup and delivery. In the menu the customer sees the condition “(pickup, delivery)”, and in the summary the surcharge appears or disappears together with the chosen method. See Packaging: per dish or per order.
- A button that opens the dish window instead of adding straight away (required add-ons or several sizes) has an arrow instead of “+”. In cross-sell suggestions such a product is no longer added without the required choices – the icon opens its window.
Fixes
- The cart after payment: after an order paid on the payment page with a WooCommerce method (cash on delivery, bank transfer, check, as well as Stripe and PayPal), a signed-in customer's cart wasn't emptied – the next order could repeat the previous dishes. Now the cart is empty after every payment. An order placed but not yet paid still keeps the cart – in case the payment fails.
- The dish window didn't add the mandatory surcharge (e.g. packaging) to the price shown, although the cart added it.
- Changing an item's add-ons in the cart (Personalize) lost the chosen add-ons when the dish had a mandatory surcharge.
1.27.0
New
- Happy hours – a discount applied by itself on chosen days and at chosen times, e.g. −20% on burgers Monday to Friday 15:00–17:00. A rule covers chosen categories or products and chosen channels: QR table, dine-in, pickup, delivery. You turn the feature on in Settings → Sales → Happy hours (off by default – if you don't use it, you don't see it in the KDS or in the WordPress dashboard), and set the rules in the manager panel (the Happy hours tab) or in InPlate → Happy hours. See Happy hours.
- Customers see a “Happy Hours until 17:00” bar above the menu, a “Happy Hours −20% | until 17:00” badge with the methods the discount applies to, the price after the discount and a separate discount row in the summary. In each rule's Options you decide whether the discount covers add-ons, whether it also works on products on sale in WooCommerce and whether it combines with discount codes (default: no, no, yes). If the window ends while the customer is ordering, they see the new total before paying.
- The lowest price in the 30 days before a reduction (Omnibus Directive). WP InPlate keeps a price history and for every reduction shown states the lowest price in 30 days – in the product window, and on the card and in related products when they show a reduction. The switch is in Settings → System → Omnibus Directive (on by default). See The lowest price in 30 days.
- Cross-sell templates for whole categories, exactly like add-on templates: an Assign button next to the template, the To product categories and To specific products tabs. All products in the category show the template's suggestions, also those added later. Exceptions (hiding suggestions, own suggestions) are set for a single product. See A template for a whole category.
- The Assign window (add-ons and cross-sell) shows which categories the template is assigned to and lets you unassign it. You choose products with a search (by name or category, several in a row) instead of pasting their IDs. A deleted template also disappears from the categories.
- The sale price in the menu: in Settings → Sales → Products you choose whether customers see only the sale price or also the struck-through regular price.
Changes
- A full English and Ukrainian version. All screens – the WordPress dashboard (InPlate pages, product and order editing, categories, product tags, users), add-on and cross-sell templates, the menu, the order form, My account, the KDS with the manager panel, the courier app, TV Manager, TV screens, the radio, emails and the setup wizard – show in the website's language. Server messages, permission names, order statuses and the ready-made product tags too. Content saved earlier (product names, texts from the settings) stays as it was typed. See Languages and translations.
- Numbers use the correct plural forms in every language: “1 product, 2 products, 5 products”, “1 day, 2 days”.
- The KDS (filters, pausing orders, happy hours) shows the standard names of the sales channels in the device's language; customers see your own method names from the Schedule.
- In the window of a product with add-ons, the base price under the total is no longer struck through – it doesn't look like a reduction.
Fixes
- Payment happens only on the WooCommerce payment page. The order summary, the menu with the cart and the table ordering page show no payment buttons (Apple Pay, Google Pay, PayPal included) or WooCommerce checkout form – also when the summary page contains a WooCommerce checkout shortcode or block. See Where customers pay.
- On the payment page an order to eat in has the “Pay at the counter” method again (it showed only for pickup).
- The TV picker screen (PIN and the list of screens) and the cross-sell editor in the product showed in Polish on a website in English.
- The “Ready” status was called “Done” instead of “Ready” in the English KDS.
- Hiding a suggestion or adding your own suggestion in the product editor no longer removes the cross-sell template assigned to the product.
1.26.3
Changes
- Delivered in the KDS has to be confirmed, like in the courier app: after a tap, ✓ Confirm delivery and Cancel appear. For a delivery paid in cash the button shows the amount to collect. An accidental tap no longer closes an order that can't be reopened.
Fixes
- On a phone the buttons in the headers of settings sections (e.g. Open radio in Settings → Radio, also in QR tables and Delivery zones) no longer stick out of their box.
1.26.2
Fixes
- The Unpaid filter in the KDS no longer shows cancelled orders – only those you really need to collect money for remain, also those already handed over (e.g. a table that pays after the meal).
- Unpaid works in the Orders view: choosing List, Archive or another view turns the filter off, and turning it on goes back to Orders. The highlighted view always matches what is on the screen.
1.26.1
Changes
- The radio works straight away, with no setup. There is no need to enter an Atmosphere address or key – the radio connects to the music catalog based on your WP InPlate license or trial.
- Settings → Radio shows live whether the radio works and, if it doesn't, why. The Check again button repeats the check.
- Security: staff browsers no longer get any Atmosphere key. The connection to the catalog goes only through your website's server.
1.26.0
New
- My stack in the radio – your own queue of tracks, like a playlist in a music player. With the plus you add a whole mood, a playlist or a single track, you change the order by dragging (with the mouse and a finger), and you can edit the stack while it plays. It is saved to the staff member's account, so it is the same on every device. See My stack.
- A new radio look in the KDS style: search by time of day and energy at the top, three columns (Vibe, Playlist, My stack) and the player at the bottom in the InPlate colors. Playlists expand under their mood.
- Search covers the whole catalog: only moods with matching playlists remain.
- The player has previous / next track buttons, a progress bar to skip and a one-tap loop choice (Track, Playlist, Vibe, and for the stack Track and Stack). If a track can't be played, the player shows it.
- On a phone and a tablet you swipe the radio's columns, always by one column.
- The radio menu (☰) shows the signed-in person and has Log out. Changing the language doesn't interrupt the music.
1.25.2
Changes
- Hide the wizard in the top right corner of the setup wizard: if your store is already set up, one click (with a confirmation) removes the wizard from the InPlate menu. You can still open it in Settings → System. The button also shows on a phone. It replaces the barely visible “Skip the wizard” link at the bottom of the left bar.
1.25.1
Changes
- The setup wizard is back in Settings → System as the last section. The bar with the Save button at the bottom of the screen no longer has a link to the wizard, so the link no longer shows in the Sales tab.
1.25.0
New
- Pausing orders with one button. When something suddenly goes wrong, the manager taps Pause in the KDS (Manager view) and chooses the channels (all, or e.g. delivery alone), the time (30 min, 1 h, 2 h or until resumed) and an optional reason for customers. The schedule doesn't change – after resuming everything works as before. See Pausing orders.
- All KDS screens show a red bar saying who paused orders and until when, with the Edit and Resume buttons. Customers see a message with the reason and the resume time in the menu and in the form; a paused fulfillment method can't be chosen, and the server rejects orders on a paused channel.
- The same in the WordPress dashboard: a Pause orders / Resume orders item in the top bar.
- A new Pausing orders permission – the Manager profile has it. Pausing works regardless of the license.
1.24.1
Changes
- Settings have a new Sales tab: order minimum, packaging fee, products and related products (cross-sells). The System tab keeps pages, TV screens, apps, customer accounts and security. The Cross-sells tab is gone – its switches are in Sales. The settings didn't change, only their place did.
- The Packaging fee section has a clearer layout: four amounts in one row, with the currency in the field (two per row on a phone).
- The plugin is tested with WooCommerce up to version 11.2.
1.24.0
New
- A packaging fee that depends on the fulfillment method, e.g. €1 for pickup and delivery, nothing for dine-in. The customer doesn't have to tick “takeaway” for every dish – once they choose the fulfillment method, a “Packaging” line appears in the summary and the total includes it. You set it in Settings → System → Packaging fee: an amount for each method (each optional), the item's name and the VAT rate. See Packaging fee.
- The fee is an ordinary WooCommerce fee line – you see it in the order, in emails and on invoices. The KDS shows it in the Payment summary, and the label as “incl. packaging”. It doesn't count toward the order minimum.
After the update
- The fee is off by default. If you add packaging today with a Mandatory surcharge add-on on dishes, you can remove it and turn on the fee – a surcharge on a dish is also added for dine-in.
1.23.0
New
- The apps carry the restaurant's name. The installed KDS, courier app and Radio are now named like your restaurant, e.g. “InPlate Bistro – KDS”, and “InPlate Bistro KDS” under the icon. Before, every installation was called “WP InPlate KDS”, “InPlate Courier” or “InPlate Radio”. The icons stay InPlate icons.
- Settings → System → Phone and tablet apps: a Short restaurant name field with a preview of the names of all three apps. Empty = the site name. See Phone and tablet apps.
Fixes
- WordPress in a subdirectory (e.g.
example.com/shop/): the installed apps open at the right address, and the service workers (offline work, push notifications) register correctly. The Radio link in the settings also takes the subdirectory into account. - The Radio's service worker didn't register because its address was redirected.
- The KDS and the courier app opened on the same device no longer delete each other's saved offline files.
After the update
- Android and computers rename the installed app by themselves on a later launch (sometimes after a few days, sometimes asking for consent). On an iPhone and iPad, remove the icon and add the app again if you want the new name. Nothing has to be reinstalled – the apps work as before.
1.22.3
Fixes
- + New address in the order form no longer takes over the zone and coordinates of the previously selected saved address. Before, the empty form showed “✓ Address in the delivery zone”, and the order could be placed to the previous address. Now the new address has to be typed in and checked.
- A slower address check that finishes after a newer one no longer overwrites its result.
1.22.2
Fixes
- The “(optional) Unit number” label in the address form no longer breaks in the middle of a word – “(optional)” is on a separate line. This applies to the order form and My account → Delivery addresses.
1.22.1
Changes
- My account → Addresses are WooCommerce forms again. InPlate no longer hides address fields, no longer makes the postcode and city optional and no longer adds its own street, number or phone fields to the shipping address. One field stays: the VAT number in the billing address.
Fixes
- A VAT number saved in My account goes to the order form, and a VAT number given with an order shows in My account. Before, these were two different places.
- After an order, the VAT number on the account is filled in only when it's empty.
1.22.0
Changes
- The invoice address: the order gets a billing address as in WooCommerce – the address from the customer's account (My account → Addresses), and for an invoice without such an address, the company address typed into the form. The delivery address always goes to the shipping address, which the KDS, the courier app and the label use. Before, the billing address was always the delivery address, so it could end up on the invoice.
- I need a VAT invoice asks a guest (and an account without a billing address) for the company address: street and number, postcode and city. The postcode is checked before the order is placed. A signed-in customer sees which address the invoice goes to. See Contact details.
Fixes
- Unticking I need a VAT invoice really turns the invoice off. Before, the company and VAT number from the account went into the order anyway.
The form saves nothing in the addresses on the customer's account.
1.21.2
Fixes
- InPlate no longer changes WooCommerce's billing and shipping addresses (My account → Addresses). They are the customer's data, needed e.g. for invoices. From version 1.20.0 the default saved address was copied there. If customers used saved addresses in version 1.20.x, check their billing addresses.
- After an order, the account fills in only empty data (name, phone, company, VAT number) and doesn't overwrite saved invoice details.
- An address saved on the account before version 1.20.0 moves to the saved addresses with the shop's city.
1.21.1
Changes
- My account doesn't show the Downloads tab until the shop has a downloadable product – a restaurant doesn't hand out files. The tab comes back by itself once you add the first such product.
1.21.0
New
- My account in the InPlate style: the WooCommerce My account page looks like an InPlate order, whatever the theme – a menu with icons (a scrolling bar on a phone), the content on a card, InPlate buttons and form fields, an orders table with colored statuses, addresses as cards, signing in and password reminders on cards, and tiles for every tab on the dashboard.
- You turn the look on and off in Settings → Customer accounts. A developer changes the colors, corner rounding and font with CSS variables – see The look of “My account”.
Changes
- My account → Consents: every consent is a card with a status (“Given 10/11/2026”). A required consent is shown, but it can't be unticked here.
1.20.0
New
- Saved addresses: a signed-in customer has up to 10 delivery addresses with names (Home, Work) and a default address. In the order form they pick an address with one click, without typing. The delivery zone is checked with every order – an address outside the zones is visible but can't be chosen. See Saved addresses.
- + New address in the order form with a Save this address for next time option and an address name. The address is saved after the order is placed.
- Notes for the courier with the address (entrance, intercom, floor) – they go to the start of the order note, so the KDS, the courier app and the label show them.
- My account → Delivery addresses: adding, editing, deleting and choosing the default address.
- The “How are you ordering?” window shows a signed-in customer their saved addresses.
Changes
- An address saved on the account before (street and number) automatically becomes the first saved address. The default address is copied to the WooCommerce address fields.
- Delivery addresses are covered by the WordPress tools for exporting and erasing personal data.
1.19.1
Fixes
- Hints and messages point to the menu under the name WP InPlate gives it – Sales panel → Settings → … instead of “WooCommerce → …” (the email template, customer accounts, stock, the setup wizard). The hint for dish types points to Products → Categories. See Sales panel.
1.19.0
New
- Signing in with a code from email: the order form no longer has passwords. The customer enters their email, gets a 6-digit code (valid for 10 minutes, works once) and is signed in. The account is created with the first code, if WooCommerce allows creating accounts. The form doesn't reveal whether an address has an account. See Signing in with a code from email.
- Only customers sign in with a code – administrators, managers, KDS staff and couriers use the standard WordPress login.
- A new InPlate: Sign-in code email in Sales panel → Settings → Emails.
- Settings → Customer accounts: a preview of the account settings from WooCommerce, a Send me a test code button and your own consents – when creating an account or with every order, required or optional, with content versions and CSV export. InPlate doesn't send newsletters – you export the list to your own tool. See Customer accounts.
- My account → Consents: the customer sees their consents and can withdraw or give optional ones. Consents are covered by the WordPress tools for exporting and erasing personal data.
- After an order, the account remembers the name, phone and invoice details – next time the form fills itself in.
Changes
- Signing in and creating an account with a password in the order form was replaced by the code. Customers with a password can still use it to sign in on the WooCommerce My account page.
- The Registration spam protection switch is gone – it applied to registration with a password. Sending codes is protected by a limit per email address and, optionally, reCAPTCHA.
Fixes
- Signing out in the order form reloads the page. Before, the page kept an outdated security token and further actions ended in an error.
1.18.0
Note – a change in behavior: signing in and creating an account in the order form now depend on the settings in Sales panel → Settings → Accounts & Privacy. In a fresh WooCommerce installation both options are off, so the account panel may disappear after the update. To bring it back, turn on Login and/or Account creation: During checkout. See Customer account.
Changes
- The form offers signing in and creating an account only when WooCommerce allows it. The server also rejects registration when it's off.
- Ordering as a guest always works, on every channel – also when guest checkout is off in WooCommerce. An account helps, but is never required.
- The limit of failed sign-ins from one IP address is 50 per 15 minutes (it was 5). In offices, student halls and mobile networks many people share one IP address. Every account is still protected by its own attempt limit.
New
- A Forgot your password? link by the sign-in in the order form.
Fixes
- An attempt to register with an email address already in use no longer reveals that the account exists – the message is generic.
1.17.3
Fixes
- Prices everywhere are in the shop's currency and in the WooCommerce format (Sales panel → Settings → General: currency symbol, its position, separators, number of decimals). The menu, dish cards, the order form and the cart now show the currency symbol, e.g. “€32.00”. The KDS, the courier app, labels, the delivery check, delivery zones, the settings and the add-on editors no longer have a hardcoded “zł” – a shop in euros sees “€”.
- Dates in the order form (“earliest time”) and in the dish list are in the site's language.
1.17.2
Changes
- Pages load faster: translations are downloaded only when the page is in English or Ukrainian. On a page in Polish the scripts of the menu, the cart, the order form and the delivery check are about 5 times smaller.
Fixes
- QR tables, add-on templates, cross-sell templates, add-ons in product editing, TV Manager, and the InPlate blocks in the page editor and the TV screen editor are translated on sites in English and Ukrainian. Before, they stayed in Polish. See Languages and translations.
- All texts in the product add-on editor (template overrides, buttons, hints) have translations.
1.17.1
Fixes
- A TV block with a slot key but no label no longer causes PHP warnings in the server log. In TV Manager such a slot is described by its key. See Slots and TV Manager.
- The plugin package no longer contains a file used only for building the plugin.
1.17.0
New
- Your own preparation time and delivery window: at the end of both lists in the schedule there is Custom… – you type any number of minutes, e.g. 180 for catering orders. There are no more upper limits of 120 and 60 minutes. See Preparation time.
- Menu navigation in a sidebar: the “InPlate – Menu navigation” block has a Layout: Row / Column switch, and the shortcode a
type="column"attribute. In a column the categories are one under another, and the “sticky” option keeps the list on screen also in Kadence columns and other page builders. See Menu navigation. - QR tables → Add multiple: creating a series of tables in a window next to Add table, without a separate tab. The button shows how many tables will be created.
Changes
- A new look of the Schedule, Settings and QR tables: every settings group is a card with an icon, fulfillment methods are cards, on/off options are switches, and the Save button is in a bar at the bottom of the screen, visible all the time. The schedule in the KDS has the same layout in dark colors.
- Settings, add-on templates and cross-sell templates take the full width of the screen.
- Settings → System: the PIN and TV badges are in a separate TV screens card, and the order minimum in the Order minimum card.
- The actions of tables and delivery zones (editing, deleting and others) are icons – the name shows on hover.
- The hints by the pages in the settings give the shortcode and the block name, e.g. “InPlate – Menu”.
- The “How are you ordering?” window (the delivery check) shows messages in the site's language – English and Ukrainian too.
Fixes
- Menu navigation highlights the current category while scrolling again, and after a click the category no longer jumps to another one.
- The QR code in the card preview and in the table window has the right size and no longer sticks out of the window.
- The number of tables has the correct form: “1 table”, “3 tables”, “10 tables”.
1.16.1
New
- Changing a category's slug in the KDS and in the WordPress dashboard: after the slug changes, the dish types and TV screens that use the category switch to the new slug by themselves. A slug taken by another category can't be saved. See Changing a category's slug.
- KDS → Categories and Badges: adding and editing in a window, the same as the product window. You can add a new category with your own slug straight away.
- The product search in cross-sell also searches by category: type e.g. “Drinks” and the list shows all products in that category. The list stays open, so you add more products with one click each. This applies to cross-sell templates and a product's own suggestions. See Cross-sell templates.
Changes
- The cross-sell template editor has two columns: the search on the left, the added products on the right. On a narrow screen the columns are one under another.
- Add-on and cross-sell templates take the full width of the screen – in the WordPress dashboard and in the KDS.
- The windows in the KDS manager panel are wider.
Fixes
- On the order summary page, below the delivery minimum with the surcharge on, there was also a “Proceed to payment” button that did nothing. Now there is one button: “Pay … surcharge and order” or “Proceed to payment”.
- The surcharge confirmation window gives the total delivery cost together with the zone fee – as much as the order charges.
- The discount row in the order summary is highlighted in green – the style didn't work before.
- The results list of the product search in cross-sell is legible in the KDS and is no longer cut off in product editing in the WordPress dashboard.
1.16.0
New
- The manager panel in the KDS runs the menu from a tablet – for daily work with the menu the manager no longer needs the WordPress dashboard. The panel has eight tabs: InPlate dishes, Products, Categories, Badges, Add-ons, Cross-sell, Schedule and TV. See The manager panel in the KDS.
- KDS → Products → Add product: adds a published product – name, categories (at least one), description, portion, photo, badges, regular and sale price, stock, add-on and cross-sell templates. The product goes to the end of its category. When the name is already taken in the category, the panel asks “Add anyway”. The edit window has the same fields.
- KDS → Categories: adding, renaming, the order in the menu (up / down), “TV only” and deleting an empty category.
- KDS → Badges: adding, editing (name, image or text icon, look) and deleting, with the number of products affected.
- KDS → Add-ons and Cross-sell: the add-on and cross-sell template editors from the WordPress dashboard, in the KDS colors.
- KDS → InPlate dishes → Dish types: managing dish types (shop manager).
- KDS → TV → TV badges: editing the catalog of TV badges (shop manager).
- Your own look for product badges: a background color or a transparent background, the text color, the outline width (0–8 px) and its color. Without this option the badge takes its look from the theme.
- TV badges with an icon: an optional image or text icon (the image takes priority), a transparent background and an outline. The icons are centered by the name.
Changes
- The “Let customers order for the next day” option moved from Settings (the System tab) to the schedule form – in InPlate → Schedule and in the KDS. See Ordering for the next day.
- Adding products, categories and badges in the KDS requires the shop manager role. Staff accounts, QR tables, delivery zones, payments and the other settings stay in the WordPress dashboard.
Fixes
- Saving the settings no longer deletes the saved reCAPTCHA secret key.
- Renaming a product badge (Quick Edit or the KDS) no longer removes its image.
- The settings form sends only the changed fields, so a settings tab that wasn't refreshed no longer brings back dish types, TV badges or next-day ordering changed elsewhere.
- The dish lists in the KDS count “today” by the WordPress time zone, not the tablet's clock.
- When the product list in the KDS doesn't load, the panel shows an error with a “Retry” button instead of an empty list.
- The hints in the add-on template editor are translated.
1.15.3
New
- Stock in the KDS: the manager sets a product's stock in the product window, under the prices. An empty field means an unlimited quantity, 0 – the product is unavailable. Every order lowers the stock, and at 0 the product can no longer be ordered. Setting a number turns off backorders for the product.
- The product list in the KDS shows the stock under the name (“Stock: 5 pcs”, in red at 0). Products without a limit don't have this line.
- This applies to simple products. For products with variations and in shops with stock management off in WooCommerce, a hint shows instead of the field.
1.15.2
Changes
- The “goes well with” suggestions window (cross-sell) shows all of the dish's suggestions. The “Maximum number of products” settings were removed – the limit for phones was saved but didn't work. You set the number of suggestions in the cross-sell template or in the product.
Note: if you want to show fewer suggestions, shorten the cross-sell template or the product's list of suggestions. The saved limit values are removed automatically during the update.
1.15.1
Fixes
- The cart panel no longer hides under the theme's sticky header (which covered the close button) or under the photos in the menu. The “Personalize” window opened from the cart still shows above it.
1.15.0
New
- The List and the Archive in the KDS show the full order. A row shows the number, the time it was placed, the status, the fulfillment method, the time, the customer, the assigned person, the note, the cancellation and problem marks, and the total with the payment status. A tap expands all the details – the same as in the order preview, with the same permissions.
- More information in the order preview: the payment method and status, the cancellation reason, problems reported by the courier and the delivery cost.
- A print button in the order preview. The label window opens above the preview, and Escape closes the label first.
Changes
- The quantity, the dish name and the add-ons in the order preview are larger (17 px) – easier to read on the run.
Fixes
- The rows of the list and the archive in the KDS no longer overlap, and the list scrolls again.
- Delivery addresses no longer show a
<br/>tag in the KDS, the courier app and on the label. - The dish window on a phone: swiping down scrolls a long list of add-ons instead of closing the window. The handle at the top is always visible and always closes the window, and the rest of the window closes it only when the content is scrolled to the very top.
1.14.9
Changes
- The order preview in the KDS: legible quantity marks (dark blue with light text), and the add-ons stand out more than the prices.
1.14.8
New
- A new order card in the KDS: the time under the order number (the date highlighted when it isn't today), larger items, a customer note that is always visible and highlighted, the customer's details and the amount in two discreet lines, print and history icons, a clear “Release” button.
- One assignment list on the card: it shows who has the order, or “Unassigned”. Choosing a person assigns the order, “Unassigned” returns it to the pool. A failed change is visible on the card.
- Changing the status of a cash payment needs a second tap: the first one shows “Confirm: …” for 2 seconds. An accidental tap won't change the status.
Changes
- The total in the order preview is yellow until the order is paid, and green once it is.
- Line icons instead of emoji in the whole system: the thank-you page, the menu, the cart, the delivery checker, the KDS, the courier app, the radio, TV screens and the dashboard. Pickup has a shop icon. Emails and push notifications contain no emoji.
- The KDS menu: the push notification bell is in the menu next to the language choice, and the menu's content slides out together with the panel.
Privacy
- Labels contain no customer name or phone number. The total on the label requires the prices permission.
- People without the customer data and prices permissions don't see the customer's details, totals or surcharges on the card, in the preview and in the list.
- The customer's order note is seen by everyone with access to the KDS – the kitchen has to know about “no onion” and allergies. The customer data permission covers the name, phone and address.
1.14.7
Changes
- The KDS on a phone, a tablet and in a narrow window: when the columns don't fit, a swipe moves the view by exactly one column. All columns have the same width.
1.14.6
New
- Product editing in the KDS manager panel: one button opens a window with the product name and the regular and sale price. Only the changed fields are saved. For products with variations you can change the name, and the price is changed in WooCommerce.
1.14.5
New
- A new team start screen (
/wp-inplate/start/): the site icon and name, app tiles with icons and a short description, the signed-in person and a “Log out” button. The screen loads nothing from external servers.
1.14.4
New
- Returns from a courier wait for a decision in the KDS. A returned order is hidden from all couriers and can't be picked up with the button or the QR code until the kitchen removes the mark.
- A “Returns” tab in the courier app: the courier sees their returns and can put an order back on delivery if the customer got in touch. Putting it back goes to the order history, and the kitchen gets a notification.
Changes
- The alert confirmation buttons in the courier app and the KDS say “OK”.
1.14.3
Fixes
- Opening “Print label” again no longer invalidates the QR code on the printed label. A courier scanning the first label no longer gets the “Invalid QR code” message.
- The QR codes on labels are valid until the end of the fulfillment day (at least 4 hours), so labels printed in advance for tomorrow's orders work.
1.14.2
Fixes
- A courier scanning the code of a ready order assigned to another courier no longer takes it over without asking. They have to confirm the takeover, which goes to the order history, and the previous courier gets a notification.
- An order on its way with a courier can't be taken over with a QR code. Only a manager in the KDS can change the courier.
- Every scan gives a visible answer: the order isn't ready yet (with the kitchen status), delivered, cancelled, not for delivery, or the code is invalid.
- A refusal to pick up after tapping “Pick up” is visible on the order card.
1.14.1
New
- A new look of the courier app: a bottom bar with a highlighted scan button, the screen title and refreshing in the header, order cards with icons, a customer phone number to tap and an address that opens navigation.
- A swipe left or right switches between “For pickup” and “On the way”.
Fixes
- A legible menu in the courier app.
1.14.0
New
- An “on the road” mode for couriers: when a courier has orders on the way, new orders for pickup give one short signal instead of a repeated alarm, and push notifications are silent. After the last delivery a full alarm gives the number of waiting orders. Notifications about orders for pickup are combined into one.
Changes
- The “Kanban” view in the KDS is now called “Orders”. The print and history buttons on the card are sized for a tablet.
- The schedule explains every option in plain words, with examples.
- The WordPress dashboard uses its own icons instead of emoji images loaded from an external server.
Fixes
- The cart panel no longer has a discount code field (its total left the discount out). The code is entered on the order page, and the cart panel takes into account the discount applied there.
- The sticky menu navigation no longer covers the cart panel.
1.13.8
New
- Couriers and KDS staff easily get back to their apps: going to
/wp-admintakes them to the start screen, My account has an “InPlate panel” link, and the website has a floating “Panel” button.
Fixes
- Orders for the next day show the fulfillment day everywhere: on the card and in the preview in the KDS (highlighted when it isn't today), in the courier app (without a false delay, sorted by day), on the label, in push notifications, in the order list in the dashboard, on the thank-you page and in emails.
- The start screen asks people who aren't signed in to sign in (also with a custom login address), and after signing in the staff member goes back to the app they came from.
1.13.7
Fixes
- System entries in the order history (assignments, status reversals, releases, returns, pickups with a QR code) show in the KDS language (PL / EN / UA), also entries saved before.
1.13.6
Changes
- An order returned by a courier (“Delivery problem”) no longer shows on their “For pickup” list. It goes back to them when a manager removes the return mark. Other couriers see it with the note from the previous attempt.
Fixes
- A courier assigned to a delivery order while it is still being prepared stays assigned when the order is ready – the order goes straight to them, and only they get the notification.
- Removing the return mark and marking cash as collected are visible on the other KDS and courier devices.
1.13.5
New
- A manager can remove the “Returned by courier” mark with the “Clear return” button on the order card. The order becomes an ordinary ready order, and couriers get a notification. The courier's report stays in the history.
Fixes
- Elements of the theme's footer (e.g. a “back to top” button) no longer show in the KDS.
1.13.4
New
- Returns from a courier alert the kitchen, not the couriers. The kitchen and the manager get a push notification with the reason, and an open KDS shows a separate “Returned by courier!” alarm with its own sound.
- An order assigned to a courier by a manager triggers an alarm in the courier app.
Fixes
- The InPlate payment methods (at the counter, to the courier, at the table) show in the site's language, also when the order was placed in another language. Titles changed by hand stay unchanged.
1.13.3
New
- When adding a user (Users → Add New User), choosing the “InPlate Operator” role shows the KDS permissions – you create a staff member with their access in one step.
Fixes
- Assigning an order to another person no longer shows “null” instead of the name for a moment.
- An order no longer disappears and briefly reappears after a status change.
1.13.2
Changes
- A new order for pickup triggers a full-screen alarm in the courier app with a repeated sound and vibration until the courier confirms it or picks up the order – just like in the KDS.
1.13.1
Fixes
- The KDS, the courier app and the radio can be installed from Chrome again (“Install app”) on sites where the plugin's directory has a name other than
wp-inplate.
1.13.0
New
- Push notifications for the KDS and the courier app – also when the app runs in the background or the screen is locked. The kitchen gets a notification about every new confirmed order, couriers about delivery orders ready for pickup or assigned to them.
- A banner asks to turn on notifications on every device and sends a test notification. On an iPhone and iPad it explains that the app has to be added to the home screen first.
- A full English translation and a new Ukrainian translation of the whole plugin: the KDS, the courier app, the menu, the cart, TV screens, the dashboard and the setup wizard. The “UA” option in the KDS, the courier app and the radio turns on Ukrainian.
Changes
- Logging out turns off notifications on that device. The next person who signs in gets them automatically.
- Notifications contain no customer data, because they show on the lock screen.
Note: push notifications require HTTPS. Every device has to allow notifications once.
1.12.2
Fixes
- The weight and description in the dish list on a TV screen no longer shrink to an illegible size.
1.12.1
Security
- An update of the library that cleans the SVG files of badge icons (a fix for the CVE-2025-55166 vulnerability). Recommended for all sites.
- An update of the Freemius license library.
1.12.0
New
- Badges on TV screens: a catalog of named, colored badges (e.g. “On sale”, “Today's pick”) in the Settings. You assign them to dishes in TV Manager or in the KDS. A dish can have several badges.
- Changing prices from the KDS: in the manager panel you set a product's regular and sale price. The list shows the current price, and during a sale the struck-through regular price.
- TV screens in the KDS manager panel: the same product search as in TV Manager, ordering by dragging (with the mouse and a finger) and badges by dishes.
Changes
- The dish list on TV uses one font size in the whole block. Names that don't fit shrink together instead of being cut off.
Note: saving a price from the KDS removes the sale schedule set in WooCommerce for that product.
1.11.0
New
- The content size on a TV screen (80–200%) – enlarges text, spacing and photos at once. For a test on one TV, just add
?scale=150to the screen's address. - TV screens work on older Smart TVs (e.g. Vestel / Vewd, Chromium 38 and newer).
- The dish list on TV fills the height of the screen, and long names wrap to two lines and shrink. Prices are aligned to the right.
- A new TV block: a space or a line of a chosen height and color.
- A TV screen reloads by itself after a plugin update.
- TV Manager: a heading above a slot with a size choice, and a slot visibility switch.
- The courier app: the amount to collect for cash payments, reporting a failed delivery with a reason (visible to the next courier), navigation to the customer and marking delays.
- The KDS and the courier app: a working archive (7 days by default, quick ranges, a status filter) and giving a reason when cancelling.
Changes
- The delivery checker talks about order-taking hours, not opening hours. Simpler choice tiles.
- The schedule's save button is always visible at the bottom of the screen.
Fixes
- Dish cards and banners on TV no longer shrink on TVs that report a resolution lower than 1920 px.
- The dish list on TV with photos no longer hides the price.
- The description in the dish window keeps the line breaks from the product editor.
- The list of InPlate dishes in the dashboard counts “today” by the WordPress time zone.
1.10.0
New
- A new fulfillment method: “I'll eat here” – with its own fulfillment window and times to choose, a filter and a mark in the KDS, and a separate counter in the shift summary.
- A new delivery checker: the customer first chooses how they will eat the order, then checks the address. The choice is remembered and preselected in the order form. The window's heading and button names can be adjusted in the block.
- Checking the address also works outside order hours.
- Your own names for fulfillment methods that customers see (the pencil icon in the schedule).
- Turning ordering for the next day on and off once today's window has passed.
- An order minimum for pickup, dine-in and QR tables – a shared amount, turned on separately for each method.
- KDS: the order preview opens on a tap anywhere on the card. The order details in a new, legible layout, with channel filters and touch-friendly controls.
- A new TV block: video.
Changes
- TV screens and the radio require an active license.
Fixes
- Archived and expired InPlate dishes can no longer be bought.
- Payment gateways no longer report an “Invalid country” error – the order gets the shop's country.
- House numbers that don't exist are rejected when checking the delivery address.
- Orders at a table show the correct method name on the thank-you page and in emails.
Note: dine-in and the new minimum are off by default. The existing settings work without changes.
1.9.1
New
- The dish grid on TV: card layouts (photo in the background, photo on the left, card, bottom bar), a separate font size, color, padding and margin for the title, description and price, and the option to hide the title.
- Product badges (e.g. “Vegan”) on TV screens – in the grid, the list and the slideshow.
- The full dish description on TV, with line breaks.
Fixes
- TV screens pick up layout changes (colors, spacing, text) on the next refresh, without clearing the cache by hand.
- Dishes restored from the archive go back to the dish list by date.
- A dish reused from the archive shows straight away, without reloading the page.
1.9.0
New
- The slideshow on TV: slide layouts (photo in the background, photo on the left, card, bottom bar), 1 to 4 dishes per slide and an optional slow photo zoom effect.
- The dish list on TV in several columns.
- The screen height is divided between the blocks automatically. Blocks in columns side by side fill their column.
Fixes
- The limit on the number of dishes in a TV block also works with the default value.
1.8.0
New
- A setup wizard on the first launch.
- Coupons and prices in the KDS.
- Redirecting WooCommerce shop and product pages to the InPlate menu.
Changes
- Simplified system settings.
Fixes
- Various fixes.