0+
September 8, 2026
August 16, 2026
Lineweb Restaurant Orders gives restaurants, cafés, and takeaway businesses a self-hosted QR menu and online food ordering workflow inside WordPress. Customers can order delivery, pickup, or dine-in directly from the restaurant’s own website. There are no commissions, paid feature gates, trials, or Pro upsells.
Features include:
For the complete ordering experience, create a page and select the Food Menu App View page template. The [snaporder_restaurant_menu] shortcode provides a lightweight menu catalogue inside a normal theme page.
Lineweb Restaurant Orders works without an external service when cash payment is used. The following optional integrations are contacted only after a site administrator enables and configures them.
Stripe is used to process card payments. The browser loads Stripe.js from https://js.stripe.com/ and sends card details directly to Stripe. The plugin sends the authoritative order amount, currency, WordPress order ID, and an idempotency key to https://api.stripe.com/. Stripe returns payment identifiers and statuses; Lineweb Restaurant Orders does not store full card details.
Twilio is used only when WhatsApp notifications are enabled. Lineweb Restaurant Orders sends the configured sender number, customer phone number, and the relevant order/status message to https://api.twilio.com/.
Twilio sender and customer numbers must use international E.164 format, for example whatsapp:+14155238886.
Lineweb Restaurant Orders does not send telemetry, usage analytics, or marketing data to Lineweb or the plugin author.
For questions about the included plugin features, use the WordPress.org support forum. For restaurant-specific integrations, workflows, or custom development outside the included scope, visit www.lineweb.gr.
Lineweb Restaurant Orders is created and maintained by Andrew Matia / Lineweb.
Lineweb Restaurant Orders ships its runtime assets locally. To reproduce them, install Node.js 24, run npm ci, and then run npm run build from the plugin directory.
The build compiles tailwind.input.css to assets/css/app.css and uses tools/copy-vendor-assets.mjs to copy the pinned Lucide and QRCode.js files and licenses. Exact dependency versions are recorded in package-lock.json; the release includes these asset sources and excludes installed development dependencies.
lineweb-restaurant-orders folder to /wp-content/plugins/, or install the ZIP from Plugins > Add New > Upload Plugin.For Stripe, add the webhook URL displayed in Lineweb Restaurant Orders settings to the Stripe dashboard and subscribe it to payment_intent.succeeded, payment_intent.payment_failed, and payment_intent.canceled.
Enable Scheduled pickup under Settings > Opening Hours, set the preparation time and a pickup interval, and review the weekly schedule. Pickup customers can choose ASAP or a time within the next 24 hours. The checkout refreshes available times and the server validates them again before creating the order. The accepted time appears in customer tracking, merchant order details and the printable receipt.
Times use the WordPress site timezone, including overnight hours and daylight-saving changes. This first version does not reserve capacity per slot or accept new orders while the store is closed. Existing orders keep their accepted time if settings change later.
Pause new orders temporarily stops new submissions without cancelling existing orders or payment confirmations. Uncheck the option to resume; there is no automatic resume timer.
No. Lineweb Restaurant Orders is a complete free plugin. It contains no Pro upgrade screen, trial, remote feature lock, or upsell notice.
No. The browser submits product, variant, extra, and quantity selections. The server reloads the catalogue data and calculates the canonical total before an order or Stripe PaymentIntent is created.
No. Stripe.js sends card details directly to Stripe. WordPress stores the Stripe payment reference and verified payment status only.
Not by default. Products, orders, settings, and reports are preserved. An administrator must explicitly enable permanent data removal before deleting the plugin.
Order contact, delivery, cart, notes, total, and payment-status data are stored in the site’s WordPress database. Site owners can configure automatic anonymization for completed, rejected, and failed orders.
snaporder prefix across plugin identifiers and added a safe migration for existing 1.0.0 installations.