RestroPress – Online Food Ordering System

Plugin Banner

RestroPress – Online Food Ordering System

by Magnigenie

Download
Description

RestroPress turns your WordPress site into a complete online food ordering system, so you keep 100% of every order.

No commissions. No per order fees. No WooCommerce required. Restaurants, cloud kitchens, cafes, and food businesses use RestroPress to take pickup, delivery, and dine-in orders directly on their own website and pay nothing to third party apps.

Set up your menu in minutes with the new AI powered onboarding wizard, then run your whole service from one live dashboard.

Try the live demo or watch the 2 minute video.

Why restaurants switch to RestroPress

  • Keep everything you earn. Third party platforms can take 15% to 30% of every order. RestroPress takes 0%.
  • Own your customers and your data. Orders, contacts, and history stay on your site, not on someone else’s app.
  • No WooCommerce, no bloat. A fast, standalone ordering system built only for food.
  • Live from day one. A guided setup wizard and AI menu import get you taking orders the same afternoon.

Set up in minutes, not days (new in 3.3)

  • AI menu import. Upload a PDF, a photo, or a spreadsheet of your menu and let AI turn it into items, prices, sizes, and add-ons for you to review.
  • Guided onboarding wizard. Simple step by step setup for your restaurant profile, menu, service options, and payments.
  • Smart upload checks. If you upload something that is not a menu, RestroPress tells you before it imports anything.

Run your whole service from one screen

  • Live Orders board. A real time view of new, accepted, preparing, ready, and out for delivery orders.
  • Command Center dashboard. See store status, live load, late orders, unpaid orders, and a priority queue of what needs attention right now.
  • Automatic kitchen ticket printing. Send new orders straight to your printer.
  • Kitchen Display System. Keep the kitchen in sync with the KDS app.

Take orders the way your customers want

  • Pickup, delivery, and dine-in, all from one menu.
  • QR code table ordering with the Dine-In extension.
  • Scheduled orders and pre orders for later pickup or delivery.
  • Delivery fees and zones based on location.

Get paid your way

  • PayPal, Stripe, and Cash on Delivery built in.
  • Many more gateways available as extensions, including Square, Mollie, Paytm, PayU, and PhonePe.
  • Premium POS integrations with Clover and Square for in store payments.

Everything you need, out of the box

  • Unlimited orders on every site, always free.
  • Build your menu in a clean, modern editor: categories, add-ons, modifiers, variable pricing, and dietary labels, all in one place.
  • Veg, non-veg, and dietary labels on the storefront.
  • Customer accounts with order history and one tap reorder.
  • Automatic creation of cart, checkout, and account pages.
  • Mobile responsive storefront that looks great on any device.
  • Email, SMS, and WhatsApp notifications (via extensions) for customers and staff.
  • Full REST API to build your own apps and integrations.
  • Translation ready, with Italian and Dutch bundled and more from the community.

Who is it for

  • Restaurants, cafes, and cloud kitchens
  • Takeaway and takeout businesses
  • Pizza shops, burger joints, and bakeries
  • Grocery, fruit and vegetable, and specialty food stores

Grow with extensions and apps

  • Customer App for a branded ordering experience
  • Driver App to manage your delivery team
  • Order Tracking App for real time updates
  • KDS App for the kitchen
  • POS for mobile and desktop to handle in store and online orders in one place
  • Dine-In, Multi Location, Inventory, Tips, Pre Order, and Time Based Menu, plus many more

Explore all extensions

Built for developers

RestroPress ships with a full REST API (since version 3.0) so you can build custom apps, kiosks, and integrations on top of your ordering system. Read the REST API docs.

Get started today

Take control of your online ordering and stop paying commissions. Download RestroPress and start taking orders today.

Website | Documentation | Live demo | Facebook group | YouTube

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
For full details, please visit http://www.gnu.org/licenses/gpl-2.0.html
For more information and support, visit the RestroPress website.

RestroPress sets itself up in minutes.

  1. In your WordPress admin, go to Plugins, then Add New, and search for “RestroPress”.
  2. Click Install Now, then Activate.
  3. Follow the guided setup wizard to add your restaurant details, import your menu (PDF, photo, spreadsheet, or AI import), choose pickup and delivery options, and connect payments.
  4. Your cart, checkout, and account pages are created for you. Add the menu to any page and start taking orders.

Prefer a manual install:

  1. Download the plugin zip from WordPress.org.
  2. Go to Plugins, Add New, Upload Plugin, and choose the zip.
  3. Install, activate, and run the setup wizard.

Does RestroPress charge any commission or per order fees?

No. RestroPress is commission free. You keep 100% of every order. There are no per order fees and no forced subscription to take orders.

Do I need WooCommerce?

No. RestroPress is a standalone food ordering system. It does not require WooCommerce or any other ecommerce plugin.

Which payment methods are supported?

PayPal, Stripe, and Cash on Delivery are built in. Many more gateways are available as extensions, including Square, Mollie, Paytm, PayU, and PhonePe.

Can I offer pickup, delivery, and dine-in?

Yes. Pickup and delivery work out of the box, and you can add QR code dine-in ordering with the Dine-In extension.

Can customers schedule orders for later?

Yes. Customers can place orders for a future date and time, for both pickup and delivery.

Is there a limit on the number of orders?

No. RestroPress supports unlimited orders on every site, for free.

Can I import my existing menu?

Yes. Use the AI menu import to upload a PDF, photo, or spreadsheet, or import a CSV directly. You review everything before it goes live.

Does it work on mobile?

Yes. The storefront is fully mobile responsive, and dedicated customer, driver, and order tracking apps are available.

Can I run more than one location?

Yes, with the Multi Location extension.

Is RestroPress translation ready?

Yes. RestroPress is fully translation ready and ships with Italian and Dutch translations, with more available from the community.

Where can I get help?

Read the documentation, join the Facebook community, or open a thread in the WordPress.org support forum.

Great plugin and support

By nvmd on May 7, 2026

I just started with RestroPress because I like its features. Bibhu answered all my questions and solved my issues very quickly. Great customer service! Thank you so much!

Perfect addon / Perfect Support

By dimitristexnikosgr on September 9, 2024

You cannot expect from an addon with this level of automation, to be like the new trend where the advanced options are only 2 checkboxes. You must know a thing or two in order to master it.

And even when you dont know what else to do, it has stellar support.

10/10

All you need

By surquillo on August 8, 2024

This one does the work. You will need no other Co to do your menu/checkout. This is all you need. buy annual plan it’s worth it. Good support with your plan

My review for this

By alishah909 on June 19, 2024

I was struggling to manage my client’s menudale food blog’s content, but Restropress came to the rescue! The plugin’s features and support are top-notch. Highly recommend it to all food bloggers and restaurateurs out there!

Amazing plugin and exceptional support!

By Hassan Ejaz (geniusdevill) on December 11, 2023

Amazing plugin with exceptional support people. They are willing to go above and beyond to help you!

Getting Better

By aarucanada on December 3, 2023

My previous review was quite harsh and was definitely warranted at the time. Since then, the company has grown through many problems and has advanced their support and their product to provide much better offerings.

There are still some things that would make it better, and hopefully in time they will make those become reality, and until then I can say it works and they are there to help within 24 hours.

My updated review should reflect this I hope.

Best Plugin for food ordering system

By devin2111 on December 1, 2023

It is the best plugin for food ordering system. It is very flexible plugin with many functionality and if you want more functionality you can buy addons for this plugins. The support team of Restropress is fabulous especially ANURAG as they helped me to solve many things which were not in my hands. Their response was very quick. Being a Developer, I can recommend other developers to use this plugin.

Support Team

By sulemanaslam on July 25, 2023

I must say RestroPress Support team is great especially on their live chat, Bibhu(one of their support member) does great help. Thank you

Easy to use with great support

By pmvwebdevelopment on June 22, 2023

The set up process was straightforward and easy to work with and if I had any issues they helped me out a lot.

Great potential let down by lack of support

By Diabolo (cebuss) on June 17, 2023

As per the title.

Sent a bunch of pre-sales questions 3-4 weeks ago, but no reply. Lack of reply when trying to get your money (i.e. before you have actually bought the product) is a bit of a red flag for the level of support in the future when they already have your money.

Made a couple of posts on the support forum here just over a week ago, and again, crickets. Yes, yes, I know, support is voluntary on here.

Reading previous reviews, the level of support, or lack thereof, has been an ongoing issue. Given the paid option is not cheap, IMHO, they need to lift their game.

The project I was thinking of using it for fell through so no further interest in it at this time. I certainly wouldn’t write it off if the basic free version meets your requirements but rigorous due diligence is required if looking at further functionality.

Version 3.4.11 (2026-10-27)

  • Fix: Modern template pack: on phones, tablets and small laptops (1024px and narrower) the menu collapsed to almost no height, so the theme’s footer was drawn over the menu items. The menu now keeps its full height on every screen size and theme.
  • Fix: Removed deprecated payment_method_types parameter from core Stripe Checkout session creation to ensure compatibility with Stripe Dynamic Payment Methods.
  • Fix: Modern checkout service chips conditionally suppress “Free” sublabel for Delivery and Pickup when fee-related extensions are active with configured non-zero fees.
  • Fix: Display applied fees breakdown and coupon discounts in the admin order details totals box.
  • Fix: Settings import no longer erases all RestroPress settings. The uploaded file was never read, so every import saved an empty value; invalid or empty files are now rejected without changing anything.
  • Fix: Settings > Misc (debug mode, remove data on uninstall) now saves. The export/import panel was nested inside the settings form, so Save ran an export instead.
  • Fix: Changing the size of an item no longer resets the customer’s chosen add-ons (for example a spice level reverting to the default), in both the add and edit popups. The edit popup now restores saved radio choices.
  • Fix: A menu item restored from the trash returns to the menu instead of staying a draft.
  • Fix: Food categories, add-on groups, tags and dietary labels are no longer listed in the WordPress XML sitemap, where every link led to an empty or missing page.
  • Fix: Discount code field pattern is valid in current browsers, so codes with spaces or symbols are rejected before saving.
  • Fix: PHP 8.1+ deprecation notices on the Import Menu and Export Menu screens and on checkout when no coupon is applied.
  • Fix: Removed a missing password icon and a corrupt inline image from the login and register forms.
  • Fix: The store-closed state now follows the current time; core no longer auto-advances closed stores to the next pre-order slot.
  • Fix: Custom translations in wp-content/languages (including Loco Translate) are loaded first and kept across plugin updates.
  • Fix: The special instructions box stacks full width on mobile in the item popup.
  • Fix: Percentage coupons are calculated on each item’s own add-ons. When an item without add-ons came before items with add-ons, the discount was worked out with another item’s add-ons, so the order total could be off by several paisa or rupees.
  • Fix: The coupon amount on the receipt now matches the amount actually taken off the order total (no more 1-paisa difference with percentage coupons).
  • Fix: Adding an item that is already in the cart with the same size, add-ons and instructions now raises that line’s quantity instead of adding a duplicate line. Developers can turn this off with the rpress_merge_identical_cart_items filter.
  • Fix: The Live Orders sound prompt no longer blocks the board, so the first click (for example Accept) works.
  • Improvement: Live Orders cards say “Paid” or “Not paid yet” instead of the raw payment status, so staff know whether to collect money.
  • Improvement: When an added item merges into an existing cart line, the confirmation says the quantity was updated.
  • Fix: The Admin Order Notification shows its real status and its recipients (including the site admin email fallback) in Settings > Emails. It previously always showed Enabled.
  • Fix: Wording: “1 item added to cart”, “Total” instead of “Total paid” on unpaid orders in order history, and “when you collect your order” on pickup receipts.
  • Localization: Restored translatable menu search texts and the cart heading added through the cart refresh.

Version 3.4.10 (2026-10-16)

  • Fix: Menu food item live search now strictly matches food item titles and properly hides non-matching items in modern template packs.
  • Fix: Positioned matched food items at the first position of the menu and synchronized category sidebar navigation, dropdowns, and tabs.
  • Fix: Added search input clear button and empty search results reset handler.
  • Fix: Category scroll spy and direct URL hash category scrolling improvements.
  • Fix: Multilingual category filtering and translation compatibility improvements.
  • Fix: Checkout session and guest payment processing refinements.
  • Fix: Order status changes are now saved together with their related order data under a row lock, so two simultaneous updates (for example the admin and the KDS app) can no longer overwrite each other. Only the order being updated is locked, so new orders are never held up. Sites whose database cannot use transactions fall back to a standard save.
  • Fix: Order status notifications now fire for every order in a bulk status change, not only the first one.
  • Fix: Status data left behind by permanently deleted orders is cleaned up on delete and when the pending order count is refreshed. Trashed orders keep their status, so restoring an order brings it back as it was.
  • Fix: WPML compatibility functions are guarded against redeclaration, and the checkout, success and login pages resolve to the translated page.
  • Fix: Guest customers can open their order receipt from the success page link without relying on the browser session.
  • Fix: Order receipt no longer breaks when a translation contains a malformed placeholder.
  • Fix: AI menu import with Anthropic Claude now sends strict structured output schemas.
  • Localization: Menu search empty state text is now translatable.
  • Dev: Added rpress_is_order_status_transaction() so add-ons listening to order meta changes can skip slow work (such as push notifications) while a status save is in progress and handle it on the rpress_update_order_status action instead.

Version 3.4.9 (2026-09-29)

  • Fix: Updating the quantity or options of a cart line no longer changes the wrong line when the same food item is in the cart more than once (different size or add-ons). Cart edits and the quantity stepper now act on the exact cart line rather than the first line matching the food item id.
  • Fix: Cart key 0 is no longer treated as empty in cart item update and edit popup AJAX handlers, preventing edits on the first line from failing or routing to another line.
  • Fix: Cart edit links now reliably resolve key 0 so the edit control never outputs the raw placeholder {edit_food_item}.
  • Fix: Cart contents are now re-indexed sequentially with array_values() on item removal, keeping the server-side session in sync with frontend line indices.
  • Fix: Enhanced get_item_position() to compare add-on items, verify price option IDs, and respect explicit cart keys.
  • Improvement: Full internationalization audit wrapping previously untranslated strings across JavaScript files, admin tables, REST API controllers, and templates with the restropress text domain.
  • Localization: Synchronized languages/restropress.pot catalog with all newly localized strings.

Version 3.4.8 (2026-09-25)

  • Security: Hardened the payment recovery flow against unauthenticated order enumeration and order note modification. Resuming a recoverable order now requires the order’s secret purchase key rather than just the sequential payment id, and a failed ownership check stops execution immediately instead of falling through to the recovery actions.
  • Fix: Added third-party payment gateway validation for “Order Auto Accepted” setting option so online orders (Stripe, PayPal, Razorpay, etc.) are only auto-accepted after payment completion.
  • Fix: Hardened PayPal Standard IPN test mode verification and protected checkout success page against premature cart clearing on incomplete payments.
  • Fix: Enhanced order receipt and tracking view to hide the “Paid” badge and payment confirmation notes when payments are pending or incomplete.
  • Fix: Scoped order status transition dropdowns in admin payments table by service type.
  • Improvement: Improved AI onboarding error handling and updated order details fulfillment notes display.

Version 3.4.7 (2026-09-17)

  • Improved: AI onboarding error handling and provider connection testing with normalized error codes and guidance for OpenAI, Google Gemini, and Anthropic Claude.
  • Added: Native WordPress AI support for menu parsing and onboarding import.
  • Improved: Admin order details view with categorized notes timeline, clean system event filtering, and refined fulfillment progress display.
  • Fixed: Scoped order status dropdown in the admin payments table by service type.
  • Updated: Translation template (languages/restropress.pot) with latest strings.

Version 3.4.6 (2026-09-09)

  • Security: Fixed an order total tampering issue where the add-to-cart and update-cart requests trusted the addon price sent by the browser. Addon prices are now always resolved server-side from the food item, so a manipulated request can no longer lower the order total.

Version 3.4.5 (2026-09-03)

  • Fixed: Allowed tips section display on pickup orders in checkout redesign.

Version 3.4.4 (2026-09-01)

  • Fixed: Pending order count badge recalculation and object cache invalidation (wp_cache_delete for rpress_orders_needs_attention_*) so the badge resets to 0 when all orders are completed.
  • Fixed: Auto-loading of RPRESS_Payment_History_Table class during AJAX calls (admin-ajax.php) and non-orders pages for synchronized pending order badge counts.
  • Fixed: Pending order count refresh button desynchronization and added live AJAX badge counter recount capability.
  • Fixed: Permanent item deletion option from Trash view in food items admin table.
  • Fixed: Compatibility with Store Timing pre-order service hours and multi-format time parsing (12-hour and 24-hour).
  • Fixed: Category selection filtering logic on time-based menu storefront.
  • Fixed: Checkout pickup/delivery time dropdown cookie persistence and ASAP selection reset issue.

Version 3.4.3 (2026-08-20)

  • Fixed: Issue where updating service options from the legacy modal on an empty cart caused double modal AJAX calls and broken food item customization popup rendering.
  • Fixed: Automatic cookie clearing when emptying the cart and on purchase completion.
  • Fixed: Order creation timestamp and relative creation time (‘placed ago’) calculation to be timezone-agnostic across all site and server timezones.

Version 3.4.2 (2026-08-13)

  • Fixed: Wrapped all hardcoded strings in registration template, cart sidebar, category navigation, user dashboard, and email template with WordPress i18n functions and restropress text domain.
  • Improved: RestroPress text domain audit and string translation readiness across storefront and dashboard templates.

Version 3.4.1 (2026-08-08)

  • Fixed: Percentage discount float calculation precision error when using comma decimal separators, preventing loss of cents on totals.
  • Fixed: Terms of Agreement checkbox visibility and touch target on mobile checkout viewports.
  • Fixed: Food item card width uniformity and price range wrapping for variable price items in mobile grid view.
  • Fixed: Service type switching (Delivery vs Pickup) on the checkout page.
  • Fixed: Checkout error message overlapping by the mobile sticky bottom bar, adding smooth scroll positioning and elevated contrast styling.
  • Fixed: Suppressed empty error containers to eliminate phantom red border outlines on storefront menu headers.

Version 3.4 (2026-07-28)

RestroPress 3.4 is the “open the door” release: a refreshed storefront you can restyle in one click, a free plan that can genuinely run a restaurant, RestroPress’s first Gutenberg blocks, and a round of fixes for headless integrations, multisite, and staff accounts.

  • A refreshed storefront with switchable template packs
    • New “Template” section under Settings, Styles: choose a template pack for your customer-facing pages. Classic keeps the original RestroPress look; Modern is a polished, image-forward storefront styled like a food-delivery app.
    • Menu layout (list or grid) is now its own control that works with any pack, so you can pair either look with either layout.
    • The Modern pack adds large food photos, rounded cards, sticky pill category tabs, a store header with your open status and prep time, and a redesigned sidebar cart with quantity steppers and tap-to-edit items.
    • Redesigned checkout with cleaner contact, service, payment, and order summary cards, clearer typography, and tidier states for delivery, pickup, guest, and logged-in customers.
    • New order confirmation and live tracking page that updates the order status in real time as the kitchen works through it.
    • Redesigned toast notifications for add-to-cart, errors, and warnings, plus a more consistent delivery and pickup schedule popup (matching dropdowns and inputs).
    • Everything here is styling only: your products, prices, menu items, and orders are untouched, and you can switch packs or revert at any time.
  • A free plan that can actually go live
    • Flat delivery fee, weekly store hours (set per day, or mark a day closed), up to 5 holiday dates, and an order time slot interval are all free now. Basic receipt printing was already free.
    • If you install the Delivery Fee, Store Timing & Delivery Cutoff, or Order Time, Intervals & Limits extension, it takes over automatically. Nothing is charged twice and no setting is duplicated.
    • A short note now points you to the matching extension wherever a free setting has a more advanced paid option (delivery zones, per-service schedules, slot caps), so you always know what more is available without anything being blocked.
  • RestroPress’s first Gutenberg blocks
    • Six new blocks: Menu, Cart & Checkout, Order History, Order Receipt, Food Search, and Opening Hours, all listed under their own RestroPress category in the block inserter.
    • The Menu block supports category filters, layout, sort order, and direct styling (colors, typography, spacing, borders) from the block sidebar, with a live preview as you edit.
    • The Order Receipt block lets you choose exactly what shows on your confirmation page: items, prices, discounts, date, notes, payment method, and order number.
    • Existing shortcodes keep working exactly as before. Blocks are an additional way to build pages, not a replacement.
  • Fixes and improvements
    • Fixed: Weglot translation URL prefixes (e.g., /en/) are now properly preserved during checkout, order success, and failure redirects.
    • Improved: Wrapped hardcoded strings on the login form template (templates/shortcode-login.php) in WordPress translation functions.
    • Improved: Localized all user-facing strings in the forgot password custom shortcode form (myplugin_custom_forgot_password_form in rp-core-functions.php) and resolved broken arrow character encoding (↠to ←).
    • Improved: Localized fallback default error messages for minimum order amount validation.
    • Fixed: Avoid appending list items (li.cart_item.empty) directly to the checkout table layout, which caused invalid HTML markup on the checkout page.
    • Improved: Replaced the checkout page content with a clean loading spinner instantly when the last item is removed from the cart, preventing flashes of broken/inconsistent cart states during the page reload.
    • Fixed: the REST API cart endpoint returned only the last item in the cart instead of all of them, breaking headless and mobile app integrations.
    • Fixed: REST API access required full administrator permissions, blocking shop managers and staff from using the API at all.
    • Fixed: reordering a past order could fail with a PHP notice when the order had no special instructions or no add-ons.
    • Fixed: installing RestroPress on a multisite network with more than 100 sites silently skipped every site after the 100th.
    • Fixed: the Orders menu badge count could disagree with the Orders list; it now always shows the same all-time pending count as the list’s “All” filter.
    • Removed the “Service Cookies Expire Time” setting. It controlled how long a customer’s delivery/pickup choice was remembered, and almost no one needs to change it. The same 90-minute default keeps working; there is just no longer a confusing setting for it.
  • PHP 8.x compatibility
    • Fixed several deprecation warnings that showed up under PHP 8.1 and newer, including in the REST API and the bundled JWT library.
    • RestroPress now declares Requires PHP: 7.4 and runs cleanly through PHP 8.5.
  • For developers
    • New filters rpress_flat_delivery_fee_active and rpress_basic_store_hours_active let an extension announce that it is taking over a free-tier feature.
    • New rpress_get_store_hours_for_date() helper resolves the open/close window and holiday status for any date.
    • New rpress_service_type_switched action fires when a customer changes delivery/pickup on the storefront.
    • All six blocks are registered as standard block.json blocks with server side rendering, so they can be filtered, extended, or restyled like any other WordPress block.

Version 3.3.2 (2026-07-12)

  • Fixed: Checkout page cart removal breaks when removing the last item due to concurrent AJAX calls creating an infinite loop.
  • Fixed: Checkout page table row was not removed when deleting items from the cart due to an underscore vs hyphen class selector mismatch (.rpress-cart-item vs .rpress_cart_item).

Version 3.3.1 (2026-07-03)

  • Fixed: Live orders sound overlay cannot be closed/dismissed on live sites where autoplay is blocked by browser policies.
  • Improved: Added filemtime versioning to live orders JS/CSS files to prevent stale browser-cache behavior.
  • Fixed: Reorder popup navigation buttons (Add more items / Checkout Now) not functioning on click.

Version 3.3 (2026-06-11)

RestroPress 3.3 is a major update: a guided setup wizard with AI menu import, a real time Live Orders board, a redesigned operations Dashboard, a cleaner Orders screen and order editor, dietary labels on your menu, faster Reports, and easier menu import and export.

  • Guided setup wizard with AI menu import
    • New step by step setup (restaurant profile, menu, how you sell, payments, go live) with a live preview of your storefront as you build it.
    • AI menu import: upload a PDF, photo, or spreadsheet and AI reads it into items, prices, sizes, and add-ons for you to review before publishing. Works with built-in WordPress AI, OpenAI, or Google Gemini.
    • One-click sample menus (Cafe & Bakery, Pizzeria, Burger Diner, Healthy Kitchen) to get started instantly, plus a manual build option.
    • RestroPress now warns you when an uploaded file does not look like a menu, before it imports anything.
  • Live Orders board (new)
    • A real time board of every active order across columns: New, Accepted, Preparing, Ready, and Out for Delivery.
    • New orders slide in with a sound alert and a flashing browser tab so busy staff never miss one.
    • Drag a card to another column to change its status, or use the single clear next-step button (Accept, Start, Ready, Dispatch, Complete).
    • Filter by Pickup, Delivery, or Dine-in. The board refreshes on its own, and an optional setting makes Live Orders the default Orders view.
  • Redesigned Dashboard
    • The Dashboard is now an operations command center built for restaurant managers: store status, live order load, late orders, unpaid orders, and a priority queue of what needs attention right now.
    • Panels refresh automatically every 30 seconds.
  • Redesigned Orders screen
    • Cleaner list with click-to-change status pills (no page reload), date shortcut chips, a “time since ordered” label, and a sticky header.
    • Switches automatically between a Today operations view and a Past Orders view with sales totals when you pick a date range.
    • Revenue now counts cash orders correctly, refunds show clearly in red, and customer phone numbers can be masked to the last 4 digits for screens in public view.
  • Redesigned order details
    • A clearer single-order screen: summary cards, a fulfilment status track with a one-click next step, a notes timeline, and billing details.
    • Edit order items (sizes, add-ons, quantities) right on the page, with the total kept in sync automatically.
  • Completely redesigned menu item editor
    • Rebuilt the menu item edit screen into one clean, section-based editor instead of scattered WordPress metaboxes.
    • Separate short (menu card) and full (order popup) descriptions in clearly labelled fields.
    • Combined Category, Tags & Dietary into one section, with a type-to-create tag selector.
    • Redesigned add-ons area with card-style groups, drag-and-drop ordering, and an inline “new add-on group” form.
    • Compact variable-price rows, plus a built-in Sold Out availability toggle right in the Publish box (no extra extension needed). Sold-out items show a clear badge on your storefront.
  • Dietary labels and food type
    • New dietary labels (Vegetarian, Vegan, Gluten-free, Dairy-free, Nut-free, Halal, Kosher, Spicy) that you set per item and that now show as chips on your storefront menu.
    • Veg / Non-veg marks are now an optional setting, aimed at India and similar markets.
  • Faster, clearer Reports
    • Reports rebuilt into focused views: Overview, Sales, Orders & Risk, Menu, Customers, Payments & Recovery, Taxes, and Export, each with a previous-period comparison.
    • Revenue and late-order numbers now agree across the Dashboard, Orders, and Reports.
    • Reports load much faster on large stores.
  • Easier menu import and export
    • Menu import is now a permanent screen at Menu Items > Import (AI, spreadsheet, or sample menu), not just a one-time onboarding step.
    • Menu export lets you pick exactly which columns to include and produces a clean, readable CSV that imports straight back in.
    • Settings import and export moved to Settings > Misc, and Tools is now focused on maintenance only.
  • Clearer new-order alerts
    • A loud built-in alert sound now ships by default, so new-order notifications are no longer silent until you upload your own.
    • Clearer guidance on how desktop alerts work, plus more reliable playback.
  • Renamed for clarity
    • “Food Items” is now “Menu Items” throughout the admin. Your URLs, shortcodes, and data are unchanged.
    • “Add-on Category” is now “Add-on Group” (sometimes called a modifier group in POS systems). Only the labels changed.
  • Fixes and improvements
    • Fixed: fixed-price items no longer switch themselves to variable pricing when saved.
    • Fixed: the setup wizard now saves your chosen service type (Pickup, Delivery, or both) instead of always storing “Pickup only”.
    • Fixed: finishing setup no longer puts your store into payment test mode by mistake.
    • Fixed: a storefront and dashboard crash when a store’s opening and closing times were equal or inverted.
    • Fixed: menu item tags could show twice on a storefront card in one layout; they now show once.
    • Fixed: the print icon in the order quick-view is now aligned with its label.
    • Fixed: finishing the setup wizard now saves the store time format (12-hour or 24-hour) to both WordPress and the RestroPress storefront, so opening-hours labels on the menu page always match what you chose during setup.
    • Improved: Live Orders cards show the customer phone correctly, add-on and category names with apostrophes no longer break, and many smaller admin polish fixes.
  • For developers
    • New food item editor section hooks and a Live Orders extension surface (columns, time window, query args) let add-ons plug into the redesigned screens.
    • Order count, late-order, and cash-gateway logic is now shared and filterable for consistency across screens.
    • New rpress_default_notification_sound filter lets add-ons or themes override the built-in alert sound without touching plugin files.
    • Full REST API support continues for building custom apps and integrations.

Version 3.4.4 (2026-08-25)

  • Fixed: RestroPress grid view sticky sidebar height calculation feedback loop preventing page scroll to footer.
  • Fixed: Service type switch AJAX response processing to dynamically update modal content and storefront date/time options without dropping responses or flickering open modals.
  • Fixed: Schedule modal Cancel button click event listener to use delegated event handling for dynamically refreshed popup DOM.

Version 3.2.8.8.6(2026-06-09)

  • Updated: Plugin version bump to 3.2.8.8.6
  • Fixed: Email template order notes now strip encoded HTML tags before rendering so labels such as <strong> no longer show in {order_note}.
  • Fixed: Special instruction labels in food item email lists now render bold markup without exposing raw <strong> tags.

Version 3.2.8.8.5(2026-06-03)

  • Updated: Plugin version bump to 3.2.8.8.5
  • Fixed: Core service date handling now follows the configured WordPress timezone and date format across order-online, checkout, order details, and receipts.
  • Fixed: Closed-store order-online summaries now show the configured store closed message instead of being overwritten by a stale selected date.
  • Fixed: Selected service date/time cookies now stay synchronized and no longer change the customer-selected schedule between listing, checkout, and confirmation views.
  • Fixed: Service date/time selections are no longer cleared from cached old UI menu pages when a stale cart count is rendered.
  • Fixed: Checkout now submits and saves the selected service date/time from the active checkout controls before falling back to cookies.
  • Fixed: Cart-empty actions now clear the complete service selection cookie set to avoid stale confirmation data.
  • Fixed: Old UI schedule popup now shows the resolved service date in core when no Store Timing date selector is injected.
  • Fixed: Core service date and slot availability now use the WordPress timezone consistently
  • Fixed: Future pre-order dates are no longer blocked by the current-day closed state when valid future slots exist.
  • Fixed: Display-format service dates such as d/m/Y are parsed safely before slot and order validation.

Version 3.2.8.8.1(2026-05-13)

  • Updated: Plugin version bump to 3.2.8.8.1
  • Fixed: Delivery schedule now ignores stale/past service slots instead of falling back to unavailable times.
  • Improved: Listing cart totals, submit button styles, plain-text button behavior, and checkout coupon field layout.
  • Added: Cart sidebar fee render filter so extensions can own their own fee display rows.
  • Fixed: Old UI modal enforcement now reopens service settings on add/checkout when delivery zip/address is invalid and blocks stale item-detail popup flow.
  • Fixed: Cart summary change-link and helper tooltip now render only in Old RestroPress UI/UX mode and no longer leak into the default UI layout.
  • Improved: Core frontend/admin API, export, tax, cart, and payment query handling touched in this patch for safer and more consistent request data processing.

Version 3.2.8.8(2026-05-12)

  • Updated: Plugin version bump to 3.2.8.8
  • Removed: Amazon Payments gateway and bundled Amazon payment libraries have been removed from core.
  • Added: Core Stripe payment gateway with hosted Stripe Checkout, test/live API keys, webhook signing secret, and webhook endpoint instructions.
  • Fixed: Core Stripe settings and gateway registration now show only when the separate RestroPress Stripe extension is inactive.
  • Fixed: Core Stripe runtime payment handlers now disable when the RestroPress Stripe extension is active, preventing duplicate Stripe handling.
  • Fixed: [customer_dashboard] login button now links to the RestroPress login shortcode page instead of the default WordPress login screen.
  • Fixed: Old UI order-settings popup now keeps Store Timing extension date/time fields in the legacy stacked layout.
  • Improved: Old UI order-settings date/time fields and Update action now follow the configured Default Button Style, including Plain Text behavior.
  • Fixed: Mobile grid-view cart bar now stays sticky at the footer while scrolling instead of shifting to the top/right side.
  • Code Cleanup

Version 3.2.8.7(2026-05-09)

  • Updated: Plugin version bump to 3.2.8.7
  • Fixed: Cart summary totals and fees now refresh reliably after AJAX cart, service, and gateway changes.
  • Improved: Mobile cart, service modal, add-button, food-card, and customer-dashboard layouts across responsive breakpoints.
  • Added: Frontend setting support to show or hide add buttons and trigger add flow from food-card clicks.
  • Fixed: Food categories without tax_position metadata now stay visible in the admin category list.
  • Added: Currency setting Currency Value Type with Round/Float options, defaulting to Float, and applied the selected value format across backend and frontend currency output.
  • Added: Default Button Style now supports the new Border Radius option for frontend submit buttons.
  • Fixed: Plain Text Default Button Style now makes frontend submit buttons behave like links with no background or border.
  • Fixed: Frontend submit buttons now inherit the configured dynamic theme color and default button style, excluding food item Add buttons.
  • Fixed: Checkout cart remove button now uses the configured dynamic color and displays a matching cross icon.
  • Fixed: Checkout Place Order loader now centers inside the button while submitting.
  • Improved: [order_history] shortcode output with a modernized order-history design, better load-more rows, and mobile responsive fixes.
  • Improved: Customer dashboard profile, order list, saved-address, and account sections now stack and scale cleanly on mobile.
  • Fixed: Confirmation page live order statuses now use the updated GIF set for accepted, pending, preparing food, delivered, delivery boy, cancelled, and ready statuses.
  • Improved: Frontend section backgrounds, labels, links, dashboard controls, checkout panels, order-history cards, and receipt surfaces now inherit dynamic Theme Color tones.
  • Fixed: Dynamic Theme Color CSS is now scoped to RestroPress frontend elements only, preventing WordPress theme, WordPress element, and third-party plugin color overrides.
  • Code Cleanup

Version 3.2.8.6.3(2026-05-02)

  • Updated: Plugin version bump to 3.2.8.6.3
  • Added: Customer table now includes bulk actions to move customers to trash, restore trashed customers, or delete permanently.
  • Added: Customer list now shows All and Trash views with status-aware row actions.
  • Fixed: Deleting a customer now moves the customer to trash instead of permanently deleting by default.
  • Improved: Customer notices now include move-to-trash and restore confirmations.
  • Improved: Existing customer records with matching email are automatically restored when new orders are created for that email.
  • Code Cleanup

Version 3.2.8.6.2(2026-04-24)

  • Updated: Plugin version bump to 3.2.8.6.2
  • Fixed: Food category drag-and-drop reordering now persists reliably on the admin categories list after refresh.
  • Fixed: Prevented addon-category sorting scripts from attaching on food-category taxonomy screens and overriding reorder AJAX actions.
  • Improved: Food-category admin ordering flow now consistently loads sortable assets, validates AJAX requests, and applies saved tax_position ordering.
  • Updated: RestroPress docs links in admin/readme now point to the current docs URL.
  • Code Cleanup

Version 3.2.8.6.1(2026-04-14)

  • Updated: Plugin version bump to 3.2.8.6.1
  • Security: Escaped rpress_receipt shortcode error output to prevent stored XSS payload execution.
  • Security: Escaped Orders admin payment-history links generated from query arguments to prevent reflected admin XSS via crafted URLs.
  • Code Cleanup

Version 3.2.8.6(2026-04-10)

  • Updated: Plugin version bump to 3.2.8.6
  • Fixed: Mobile/tablet order-online layout alignment for service buttons, search input, and summary row (date/time/Edit) rendering.
  • Fixed: Checkout Place Order button now follows full input width for responsive views.
  • Fixed: Checkout total row alignment to keep total label/amount consistent with form/button edges.
  • Improved: Theme-color sync for service-type selected states and key checkout actions (including discount/apply and update actions).
  • Improved: Quantity +/- controls in item popup now keep neutral background and hover behavior while using theme color on border/radius outline only.
  • Fixed: Mobile list-view circle add button now keeps a perfect circular shape with centered icon rendering.
  • Fixed: Checkout Delivery/Pickup tabs on mobile now maintain consistent tab height and full-width active background fill.
  • Fixed: Sticky category overlap layering issue in list/grid navigation.
  • Fixed: Admin …