WPPizza – A Restaurant Plugin


  • Conceived for Pizza Delivery Businesses, but flexible enough to serve any restaurant type.

  • Maintain your restaurant menu online and accept cash on delivery orders.

  • Set categories, multiple prices per item and descriptions.

  • Several layouts inbuilt(Default, Responsive, Grid).

  • New order notifications.

  • Opening/Closing times per day.

  • Allow tips/gratuities.

  • Simple discounts.

  • Multiple taxrates.

  • Order reports.

  • Multilingual Frontend (just update labels in admin settings page and/or widget as required). WPML compatible.

  • Multisite enabled.

  • Keeps track of your online orders.

  • Shortcode enabled. (see complete shortcode list)

  • Many other additional options inbuilt.

To see the plugin in action with different themes try it at demo.wp-pizza.com

If you wish to allow your customers to add additional ingredients to any given menu item, have a look at the premium “WPPizza Add Ingredients” extension

Premium extensions available:

Additional payment gateways to process credit card payments instead of just “Cash on Delivery”

Translations provided by:

  • Italien: Silvia Palandri
  • Hebrew: Yair10 [הלב בניית אתרים ]
  • Dutch: Jelmer
  • Spanish: Andrew Kurtis at WebHostingHub
  • German: Franz Rufnak, Witali Opfer

Many, many thanks guys and girls.

Note: As the plugin gets updated over time and has some other strings and features added, the translations above (and future ones) are likely to have some not-yet-translated strings. If you wish, feel free to provide any of those missing and I will update the translations accordingly.

If you want to contribute your own translation, feel free to send me your files and I will be more than happy to include them.

Demo Icons:

Please note that the icons used in the demo installation are iconarchive.com icons and not for commercial use.
If you do wish to use any icon from this set commercially, please follow this link to purchase it.

Allergen/Foodtype Icons (credit where credit is due):

Allergen/Foodtype Icons – though modified and with the exceptions stated below – are courtesy of icon-icons.com
Foodtype Vegetarian/Vegan Icons courtesy of vectorstock.com
Halal/Kosher Icons specifically created for this plugin.
Note: Allergen/Foodtype Icons included with this plugin can be used on your site ‘as is’ and without any attribution

Loading Icon:

“Double Ring” Loading Icon SVG (v3.13+) generated at loading.io


  • Frontend
  • Frontend (Different Theme) – minicart only
  • Frontend – Grid Layout
  • Frontend – Order Page
  • Frontend – Thank You Page
  • Frontend – Purchase History (registered user)
  • Admin – Menu items – quick edit
  • Admin – Global Settings (excerpt)
  • Admin – Order Settings (excerpt)
  • Admin – Opening Times
  • Admin – Additives
  • Admin – Layout (excerpt)
  • Admin – Localization (excerpt)
  • Admin – Registered customers
  • Admin – Tools
  • Admin – Tools (GDPR)
  • Admin – Access Rights
  • Admin – Order Form
  • Admin – Sales Reports
  • Admin – Widget



  1. Download the plugin and upload the entire wppizza folder to the /wp-content/plugins/ directory.
    Alternatively you can download and install WPPizza using the built in WordPress plugin installer.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. You will find all configuration and menu options in your administration sidebar

Things to do on first install

For consistency, this document has now moved to the following location :
** I strongly encourage you to read it **


Please note:
Although all options, menu items and menu categories get deleted from the database along with the table that holds any orders you may have received, you will manually have to delete any additional pages (such as the order page for example) that have been created as i have no way of knowing if you are using this page elsewhere or have changed the content/name of it.
The same goes for the 3 example icons that come with this plugin as they might be in use elsewhere.


General Faq’s

for consistency and manageability the faq’s have been moved to https://docs.wp-pizza.com/faqs/


please refer to https://docs.wp-pizza.com/shortcodes/

How can I submit a bug, ask for help or request a new feature?


جوان 19, 2021
Second project with this plugin. Does what it says and more. Clear documents online and superb support when needed. Twice really amazed. Thanks!
أڥريل 12, 2021
I tested a lot of others plugins and themes, this is the best. It should also have the table reservation extension, because many restaurants would like their customers to book with the menu already filled out.
ماي 26, 2020
This plug-in has helped save my clients business as they move from a full-service restaurant to take-out and delivery during the pandemic. We were able to roll out a fully functional online ordering system with ease and at minimal expense. Easy for the client to use and customizations for just about everything. The few questions I’ve had or glitches I’ve encountered were addressed almost immediately through the forum or by email, with great solutions and – when needed – plugin updates rolled out next day. This is one of the best business-changing plugins I’ve used. I highly recommend it. And best of all, try it out the free version to work out the integrations and designs so you can be sure it works well with your site. Thank you Oliver!
أڥريل 3, 2020
Thanks a lot for this plugin! I installed it for two restaurants next door – they had to switch to delivery and take-away from one day to the other (corona virus restrictions). With your plugin and just a few hours of configuration and testing, they are now (hopefully) able to survive economically during the corona crisis. Your plugin is awesome!
فيڥري 28, 2019
Our requirements were an elegant and fully customizable room service ordering system for our 5-star boutique hotel… and WP-Pizza delivered! 😉 The interface is super clean and offers our guests a great user experience. Support is amazing. Do not be deceived by the name, WP-Pizza is a very powerful and versatile tool for anyone selling anything where a seamless and great user experience is key. This is not Woocommerce’s strong suit.
Read all 55 reviews

Contributors & Developers

“WPPizza – A Restaurant Plugin” is open source software. The following people have contributed to this plugin.



* Maintenance Release
11th July 2024

* Fix: potential xss vulnerability in edge scenarios
* Fix : some potential php notices eliminated
03rd June 2024

* Added: option to display allergen icons in menu item title
* Tweak: minor css adjustments in admin display
26th April 2024

* Test UpTo: 6.5
* Update: Maintenance release to address edgecase error 10001
11th April 2024

* Update: adding some more user capabilities checks in some places
* Added: Some more tracing info in transaction errors column
8th March 2024

* Fix: Shortcode attributes may throw error in edgecases
* Fix: Some deprecation notices on install
* Update: Regenerate openingtimes widget on pickup / delivery change (as opening times may differ)
* Added: Distinct filters for options ‘settings’, ‘layout’, ‘localization’, ‘order_settings’, ‘openingtimes’
* Added: js trigger to ‘wppizza_event’ class to allow other plugins to listen to and react to events such as change delivery type, cart/order update etc
13th February 2024

* Fix: Some js actions might have run twice unnecessarily with certain settings
25th January 2024

* Tweak: display name (see changelog 3.18.7) not shown
24th January 2024

* Fix: some more php 8.2 / 9 warnings
* Tweak: added display name (typically equals username and/or nickname) after user id in email/print templates (if enabled)
* Tweak: more robust page reloading when waiting for webhook notifications
* Dev: some encryp/decrypt helper functions added
24th January 2024

* Fix: Localization strings when shop is closed due to holidays were not correctly applied
* Fix: some more php 8.2 / 9 warnings
* Tweak: Make dynamically loaded scripts follow async / defer attributes
* Dev: additional arguments added to some filters
6th January 2024

* Fix: potential fatal error with report custom from/to date range
* Tweak: Account for plugins/themes that inexplicably output stylesheets and othermarkup directly (in selected ajax request) instead of enqueueing them
* Dev: adding some convenience helper function (webhook listener)
* Dev: allow gateways to be loaded depending on (added) ‘gatewayInitType’ parameter
* Dev: add gateway input filed to be of type password
* Dev: add classes for consistency to admin gateway input fields where missing
15th December 2023

* Fix: custom opening times not always applied
* Fix: some php 8.2 / 9 warnings
* Tweak: some minor sanity checks
* Tweak: some minor css tweaks
* Tweak: added some id’s to some elements
* Tweak: changed some “lable”s to “span”s for consistency
* Tweak: added tips column to summary report overview
* Dev: adding additional sales data query filters
30th October 2023

* Fix: potential xss vulnerability
9th September 2023

* Fix : alternative taxrates for items from pre v3.15 might not always have been correctly applied
* Compatibility/Fix : make sure wppizza related phpmailer_init actions get removed after altering for wppizza related emails
28th August 2023

* Added : allow to load a locally hosted version of the smoothness jquery ui css for better gdpr compliance
* Fix : more potential php notices and warnings eliminated
23rd August 2023

* Performance improvements: Bestseller shortcode
* Tweak : Minor css declaration adjustment
* Fix : more php notices / warnings (php 8.2+) eliminated
* Fix : Multiple taxrate array might get key truncated resulting in potential display errors
* Fix : Order details odd/even class names not always coirrectly applied
* Fix : Edgecase json encoding error in js cart contents (when using confirmation page and html tags in order form labels)
* Dev : Added some more dedicated filters (tips, gateways localized parameters)
* Dev : Added localised js currency parameters
* Dev : Added missing ‘sortname’ passthrough parameters
* Dev : Added some additional helper validation functions
* Dev : Adding optional parameters to some functions
* Dev : Improved some consistency in some methods
* Dev : Update in gateway development examples
* Dev : Add localised wppizza.extend parameters to all ajax calls
15th August 2023

* Fix: Addressed issue of custom closing hours being sanitised incorrectly
* Maintenance: removed outdated v3.13 to 3.15 from WP repository
10th May 2023

* Added: accordion as layout option and/or shortcode attribute (accordion=1)
* Tweak: always remove click cursor / hover-underline on prices when disabling online orders
* Tweak: minor css adjustments
* Fix: remove some php notices/warnings for some edgecases
8th May 2023

* Fix: added missing valdation on some parameters
* Fix: Some more potential php 8.2+/9 notices/errors fixed
* Dev: improving consistencies across a few functions
* Dev: adding some helper functions for convenience
* Dev: adding some odd/even css classes to cart items for convenience
25th April 2023

* Fix: Fatal error (due to typo) in newly added holidays opening times class
* Fix: Some more potential php 8.2+ notices fixed
12th April 2023

* Added: Allow to set dates to be closed between a range of 2 dates (e.g. holidays)
* Fix: Some JS functions potentially not re-initialising when updating cart
* Fix: Number of php 8.2+ notices fixed
* Tweak: More consistent localization capitalisation on install
* Tweak: Help verbiage updated
* Dev: Replacing some depracated (php8.2+) functions
* Dev: Added some autocomplete=off in a few admin text inputs to aid usability
* Dev: Selected filter priorities tweaked
11th April 2023

* Fix: Potential (but inconsequential) php warnings due to inverted conditional
* Fix: Additional (premium) gateways may not have had their license options displayed in the license tabs
* Dev: Make wppizzaCartJson (js object) available on confirmation page too
13th February 2023

* Fix: wppizza_validate_array might save an single key with an empty value in edgecases
* Fix: Symbol for CZK currency missing diacritics
* Fix: Eliminated some potential php notices/warnings
* Fix: Some gateway update functions might have run unnecessarily in admin
* Dev: Sanitise sprintf outputs to make sure to only allow permitted number of placeholders
* Dev: Passing on gateway ident parameter to gateway classes in some places
* Dev: Display any placeholders attached to radio outputs in admin gateway settings
* Dev: Added language code(s) to js parameters
8th February 2023

* Fix: Eliminated some more potential php(8) notices/warnings
* Fix: Repurchase of a whole order might result in ‘unknown’ item added to cart if quantity > 1
* Dev: Allow filtering of template options
* Dev: Allow filtering of get_orders() query arguments
* Dev: Added globally available wppizza_order_table() and wppizza_meta_table() helpers
* Dev: Added example COD type gateway for development (/add-ons/)
16th January 2023

* Fix: Backwards compatibility fix
15th December 2022

* Fix: Incompatibilities introduced in 3.16
* Fix: Some double escaping in edge cases
* Tweak: wrap formfield values (confirmation page) in label element (instead of span) to aid theme consistencies
* Added: Allow checkout formfields to be omitted entirely if no value is required to be entered
13th December 2022

* Fix: Rollback – for the time being – to 3.15 as 3.16 potentially and unintentionally broke some plugins
09th December 2022

* Fix: Eliminated some more potential php notices/warnings (especially with php8)
* Fix: (No)Milk/Lactose Icon not always displayed if used
* Fix: Order form multicheckboxes, radio , checkbox inputs were not necessarily saved/updated in user profiles (if enabled)
* Update: Some more consistency in capitalisation of localisation strings on install
* Update: Updated/added info on some help screens
* Update: Prevent session_start where sessions are not needed (selected scripts / feeds / cronjobs)
* Update: Updated some language files
* Added: Added distinct “Spend x save y” localisation string, replacing separate “spend” and “save”
* Dev: Added some language identification constants for convenience
* Dev: Added helper “wppizza_surcharges_total()”, “wppizza_is_frontend()”, “wppizza_set_userdata()” , “wppizza_get_userdata()”, “wppizza_prevent_session()”
* Dev: Make orderpage dropdown and radio inputs use numeric indexes as values instead of strings
* Dev: Additional parameters added to – now filterable – wppizzaCartJson object
06th December 2022

3.0 – 3.15.x
* changelogs for versions 3.0 to 3.15.x can be found in /wppizza/changelogs/

1.0 –
* changelogs for versions up to 3.0 can be found in /wppizza/changelogs/