Verdero – Restaurant Online Ordering

Verdero – Restaurant Online Ordering

Details
View on WordPress

Verdero turns a WordPress site into an ordering system for a restaurant, cafe, bakery, or any local shop that takes orders for pickup or delivery.

Add your dishes as products, arrange them into a menu layout, choose the days you deliver and the days you take pickups, then work through the orders as they arrive on a live order screen. Checkout runs on WooCommerce, so any gateway it supports works here, and Verdero takes no cut of a sale.

What’s included

  • Menu layouts – Grid or list layouts for your dishes, dropped onto a page with a block or a shortcode.
  • Pickup and delivery days – Choose the days you offer each service, per delivery zone, with a fee where you need one.
  • ASAP orders, lead time and preorder days – Give yourself a day or more of prep time, and control how far ahead people can order.
  • Holiday scheduling – Close specific dates or special occasions without rewriting your weekly schedule.
  • Live order view – Orders appear in real time, with an alert sound and pickup/delivery filters for the kitchen.
  • Receipt printing – Send kitchen, delivery, packing and confirmation tickets to a local printer. No third-party print service.
  • Receipt layouts – Edit those tickets in the block editor, or start from the ready-made layouts.
  • Slot reminder emails – Follow up with customers who checked out without picking a date.
  • Floating cart – A cart widget that shows the order at a glance instead of sending people off to the cart page.

Verdero needs WooCommerce, and will install it for you if it isn’t there yet.

Verdero Pro

Verdero Pro is still cooking. Join the waitlist to hear about it first.

Development

Verdero’s JavaScript and CSS are compiled with @wordpress/scripts (webpack). The files under build/ are minified build output and are never edited by hand. The complete, human-readable source ships inside the plugin: nothing in the archive is generated from code kept anywhere else, so there is no separate download to fetch.

  • source/ – admin and frontend entry points, JavaScript modules and SCSS.
  • inc/modules/*/source/ and inc/integrations/*/source/ – per-module sources.
  • inc/modules/receipt-layouts/src/ and inc/modules/checkout/blocks/order-date/src/ – block sources, each with its own block.json.
  • webpack.config.js, inc/modules/receipt-layouts/webpack.config.js, inc/modules/checkout/blocks/webpack.config.js – build configuration.
  • package.json and package-lock.json – the build toolchain, with dependency versions pinned so the output can be reproduced exactly.

To rebuild the compiled assets from source, run this from the plugin directory:

npm install && npm run build

That regenerates build/, inc/modules/receipt-layouts/build/ and inc/modules/checkout/blocks/order-date/build/. Two block editor bundles have their own commands – npm run build:welcome-guide and npm run build:preview-sidebar – and regenerate the JavaScript under inc/modules/receipt-layouts/assets/admin/js/block-editor/. npm run start:app runs the app build in watch mode for development.

Which source builds which file

Each file under build/ is one webpack entry point, declared in the entry block of webpack.config.js. Compiled file first, the source it is built from second:

  • build/admin/main.jssource/admin/index.js
  • build/frontend/main.jssource/frontend/index.js
  • build/frontend/cart.jssource/frontend/cart/index.js
  • build/modules/layouts/admin.jsinc/modules/layouts/source/admin/index.js
  • build/modules/location/admin.jsinc/modules/location/source/admin/index.js
  • build/modules/timings/admin.jsinc/modules/timings/source/admin/index.js
  • build/modules/timings/order.jsinc/modules/timings/source/order/index.js
  • build/modules/live-view/admin.jsinc/modules/live-view/source/admin/index.js
  • build/modules/receipt-layouts/block-editor.jsinc/modules/receipt-layouts/source/admin/block-editor-entry.js
  • build/modules/receipt-layouts/orders-page.jsinc/modules/receipt-layouts/source/admin/orders-page-entry.js
  • build/modules/order-reminders/frontend.jsinc/modules/order-reminders/source/frontend/index.js
  • build/integrations/woocommerce-points-and-rewards/frontend.jsinc/integrations/woocommerce-points-and-rewards/source/frontend/index.js

The stylesheet beside each bundle is compiled from the SCSS that same entry point imports, and the -rtl stylesheet next to it is that one flipped by @wordpress/scripts. The .asset.php file beside each bundle is the dependency and version manifest @wordpress/scripts writes, not something to read as source.

The block builds and the two block editor bundles map the same way:

  • inc/modules/receipt-layouts/build/inc/modules/receipt-layouts/src/, one directory per block.
  • inc/modules/checkout/blocks/order-date/build/inc/modules/checkout/blocks/order-date/src/
  • inc/modules/receipt-layouts/assets/admin/js/block-editor/welcome-guide/index.jsinc/modules/receipt-layouts/source/admin/js/block-editor/welcome-guide/index.js
  • inc/modules/receipt-layouts/assets/admin/js/block-editor/preview-sidebar/index.jsinc/modules/receipt-layouts/source/admin/js/block-editor/preview-sidebar/index.js

One third-party file is shipped pre-minified by its author: source/frontend/js/vendor/swiped-events.min.js (MIT). It is unmodified, and its header records the upstream project and version – john-doherty/swiped-events v1.1.6. It is the only minified file in the archive that Verdero does not build.

Details

Plugin code:
verdero
Plugin version:
1.0.0
Author:
Outdated:
No
WP version:
6.8 or higher
PHP version:
7.4 or higher
Test up to WP version:
7.1
Total installations:
0
Last updated:
2026-09-04
Rating:
Times rated:
0
food-delivery
food-menu
food-ordering
restaurant
restaurant-menu