• 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.

  • 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)

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

gateways available to process credit card payments instead of just cash on delivery at www.wp-pizza.com

Translations provided by:

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

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) will probably have a few strings not yet translated. 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.


  • frontend example
  • administration - widget
  • administration - categories
  • administration - menu item
  • administration - order settings (one of many option screens)



  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 you might have used them elsewhere.


Installation Instructions


  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 you might have used them elsewhere.

General Faq’s

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


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

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


Oliver and Wp-Pizza Rocks

Normally when you asked for tech support from someone just selling a plug-in, maybe you will and maybe you won’t get support. Sometimes as you well know support can take days or weeks for the support technician to get back to even. And sometimes I’ll get back to you at all. I have to say that Oliver went above and beyond in my case. My site got hacked and I must’ve emailed back and forth with all over probably over a dozen times.
He got back to me, in a timely manner, was extremely helpful, and now everything is working properly again. I am super impressed by his professionalism and giving back to me. I would highly recommend anyone looking for a word press plug-in for a restaurant where you want to order online WP-Pizza and Oly Rocks!!

Really astonishing plugin

I am blown away. This plugin does things that I didn;t even realize I meeded while putting together a delivery website that is sort of like take out taxi, with multiple restaurant menus. Brilliant! And quick support!

All is very nice…

Really, Pluging is verry good maked.

+have settings for all…
+have more design
+can edit by CSS
+professional Site
+Very good Support
+have Forum
+can add 15 Gateway
+and more more more

I think for WordPress is this pluging realy best way for bulid a Food Delivery/Restaurant Website.

+ Support is very professional and friendly.

Thank this pluging maker + Support.

Read all 43 reviews

Contributors & Developers

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


Translate “WPPizza” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


* fix: setting “No delivery / Pickup only” in OrderSettings -> Delivery Type did not force order parameters to be pickup
* tweak: removed css declaration “display:table” for wppizza article in responsive layouts as it might cause layout issues with very long article names and/or lots of additives on small screen devices
* tweak: added space(s), decreasing margin-right to account for this, between span elements of additives list to aid wordwrap for small screen devices when using some themes that cause overflow issues
* tweak: set some admin info links in widget and install screens to point directly to the relevant pages instead of generic wordpress.org wppizza readme.txt
16th September 2017

* fix: eliminated some sku related php notices
* tweak: added wppizza-order-ispickup class to wrapper div on relevant pages if order is pickup
* tweak: more reliable handling of update status display in plugin screens (for any premium/third-party plugins/gateways that may use it)
15th September 2017

* fix: multiple recipients – if entered – were lost on update of plugin (WPPizza -> Order Settings -> Order Email Recipient(s))
* fix: sku’s – if used – not displayed properly in some places
* fix: print/email templates missing closing /tr element on some lines
05th September 2017

* fix – important: ipn notification for some payment gatewasy was broken (probably since v3.0.16)
* tweak: eliminated some more – possible – php notices
2nd September 2017

* tweak: elimiinated some more possible php notices
* tweak: added some more parameter output in any debug logs to aid debugging
* tweak: added table columns info to tools->system info to aid debugging
* tweak: added ‘CONFIRMED’ status to payment_status (might be useful for offline/offsite payments)
30th August 2017

* fix: ensure any saved customer details are being entered into the orderform directly after login (on orderpage) if they were still left empty until this point
26th August 2017

* fix: payment gateways were not displaying any instuctions (if any) in their admin pages
* tweak: removed superfluous (and for some themes interfereing) css word-wrap:nowrap on order page itemised cart names
* added: skeleton hosted paymant page payment gateway for developers
24th August 2017

* tweak: added a couple of css declarations when adding new templates to aid line-breaks for long text strings
* tweak: decoding entities and trimming values first before comparing selected options in dropdown fields on order page for more consistency across languages
* tweak: ensure order page gets reloaded when changing between pickup and delivery
* added: localization strings for gateways that first return an “unconfirmed” status before – after somewhere between several minutes and half an hour or so depending on gateway – confirm a payment

20th August 2017

* added: UNCONFIRMED status to payment_status in db
13th August 2017

* fix: issue displaying categories by shortcode when they were children of another parent category
* tweak: forcing wordprap in plaintext templates for long strings over 74 characters
* tweak: reverted – as in v2x – to display single menu items without wppizza formatting (as single.php would need to be set in theme) instead of simply displaying intructions. Typically these would not be used anyway as by default wppizza does not require or indeed link to single menu items anywhere
13th August 2017

* fix: pickup (if set to be default in admin) reverted to “delivery” for a customer after an initial order
* tweak: also force no display of [wppizza type=totals] shortcode (if used) on orderpage (only confuses the issue as the whole order is already displayed there)
13th August 2017

* added: allow for display in templates if customer is/was guest or registered user (with user id)
* fix: “Wppizza-> Layout -> Miscellaneous -> Hide size name and cart icon if item has only one size” did still display sizes in cart etc
* tweak: minor german translation improvements on initial install
10th August 2017

* tweak: did 3.0.9 improvements properly now
* fix: demo categories slugs used in shortcodes on demo pages might not always have been correctly sanitised for new, non-english installations
9th August 2017

* fix: reverted to 3.0.8 as 3.0.9 did more harm than good (sorry)
9th August 2017

* tweak: further minor impovement for some themes automatic supression of wppizza cart on orderpage
9th August 2017

* tweak: forcing reloading of order page when backpaging
* fix: any set bcc’s and/or attachments (WPPizza -> Order Settings) would get lost between v3.x -> v3.y updates
* fix: with some themes automatic supression of wppizza cart on orderpage caused layout issues on that page

non-english languages:

  • Note: The following will NOT affect any of your frontend settings/translations in WPPizza->Localization.
  • Re-added translation files keeping existin translations provided they were still the same.
  • As wppizza 3.x has many more new strings added as well as old and now obsolete strings deleted, you might find that strings in your ADMIN will be english in many places if you are using a non-english language that was translated before.
  • If you wish to contribute to the translation of the plugin into your particular language (may that be updateing the existing or adding a new one), please refer to the “readme.txt” in the /lang/directory of the plugin

9th August 2017

* fix: Bulk delete did not work for wppizza menu items
9th August 2017

* fix: With some themes that use their so-called advanced editor , the order page did not redirect to the thank you page after a successful order
* fix: could not publish new wppizza menu items (doh!)
8th August 2017

* fix: “Wppizza-> Layout -> Miscellaneous -> Hide cart icon next to prices” did not work anymore
* fix: “Wppizza-> Layout -> Miscellaneous -> Click title to add to cart” did not work anymore
* tweak: some minor css tweaks
* tweak: account for situations where “Layout -> group by categories” is enabled but menu item(s) have not been associated with any category (first available will be used in those situations)
6th August 2017

* added: option to also use “additives” as separate/additional element in loop shortcode attibutes
5th August 2017

* fix/tweak: removed some – quite inconsequentioal – javascripting that might have caused continuous order page reloading on some servers (possibly because server time is not synced accurately)
5th August 2017

* fix: with repurchising enabled html entities in product titles (apostrophies etc) might have caused repurchase for the product to not be available
* fix: new installs did not install capabilities for admin to access “access rights” page (should also fix updates to 3.x where access went missing )
* re-added: html/visual editor for html enabled localization strings
* tweak: updated info for repurchasing option
* tweak: removed some erroneously left over testing functions that will have caused php notices
* tweak: better handling of license status display for any premium plugins that may use it
* tweak: minor css tweak for cart
3rd August 2017

* tweak: some workaround to at least stop fatal errors if people auto-update to version 3.x from version 2.x without ever reading and following the upgrade instructions
2nd August 2017



WPPizza 3.0 is a major re-write of the plugin to aid further development alongside a multitude of added options as well as performance improvements and various tweaks.

  • UPGRADING FROM PREVIOUS RELEASE VERSIONS 2.x.x: Make sure you follow the upgrade instructions. Do NOT simply click on ‘update’ and hope that it works.
  • UPGRADING FROM v3.x beta versions: Simply apply the update as normal. No additional steps will be required.
  • MIGRATING YOUR CUSTOMISATIONS FROM v2.x to v3.x: As v3.x is a 90% re-write almost all action and filter hooks as well as template structures alongside some css have changed. Therefore, if you have made any kind of customisations to your pre version 3.x install please refer to the developer documentation regarding details.


  • Added: Dedicated Customer Page in Admin (WPPizza->Customers)
  • Added: Additional formfields validation options (WPPizza->Order Form Settings)
  • Added: Admin new order notifications (audio and visual) now built in (WPPizza->Settings)
  • Added: Repurchasing option added (WPPizza->Order Settings)
  • Added: Many more shortcode options/attributes when displaying menu items (such as using different layouts , changing element order etc) please refer to the shortcode documentation
  • Added: Dedicated input field (WPPizza->Layout) to customise/override css declarations as added alternative to using files
  • Added: Access rights (WPPizza->Access Rights) now includes settings for ‘Menu Items’ and ‘Categories’
  • Update: Admin settings are now sub-categorised somewhat more logically within their admin pages
  • Update: Any WPPizza templates edited must now reside in a wppizza sub-directory to be read (see developer docs regarding templates editing)
  • Update: More normalized info in the wppizza_orders table for easier 3rd party plugin development
  • Update: Tidy up of order history somewhat with added option (getting each customer details) and css improvements regarding responsiveness
  • Change: Itemised Order Details, Summary and Transaction Details now using table elements for consistency throughout
  • Tweaks: Various performance improvements
  • Tweaks: More consistency throughout
  • Removed: Retired old default templates (email/print) in favour of only using drag and drop templates for consistency
  • Removed: Removed sticky cart option in favour of minicart

1st August 2017
* fix: fateal error in cart with old php versions (introduced in previous version)
22nd June 2017
* tweak: handling charges (if any) also now displayed in cart
22nd June 2017
* fix: Decimals of tips were not added in non-english sites
* added: report filters ‘wppizza_filter_report_query’ and ‘wppizza_filter_report_datasets’ to allow for more customisation of reports/exports
11th June 2017
* fix/tweak: EDD Plugin Updater Class updated to – more reliably – inform users of updates for 3rdparty/premium extensions and gateways.
27th May 2017
* fix: Additives not correctly numbered or even truncated when using shortcode type=”additives” when usied in conjunction with WPML
* tweak: forcing reload of page when entering tips on checkout even when server settings automatically force caching of order page (Bluehost for example)
22nd May 2017
* fix: minimum order value not always respected under with certain settings
03rd May 2017
* tweak: allow alphanumeric characters (as opposed to just integers) in additives sort fields
06th March 2017
* update/fix: tweak to update (re-instating removed code but adding variable check as it should not have been completely removed)
17th February 2017
* update/fix: dropped some VERY old legacy coding that might interfere with prefill of order formfields in conjunction with other plugins
13th February 2017
* fix: in non-english websites, any delivery charges below 1.00 – although correctly calculated – were not displayed in cart and order page
31st January 2017
* tweak: added workaround for 3rd party plugins that use their own wp_mail function that are missing phpmailer_init hook (although these plugins should be fixed really)
30th January 2017
* fix: reporting query did not account for any possible mysql timezone offsets (although most will use UTC anyway)
27th January 2017
* update: streamlined html email sending to provide consistency with plaintext mail sending (due to wordpress falsly flagging the plugin as using it’s own version of phpmailer)
* update: dropped support for following very old gateway versions – authorize.net <= v1.3 (May 2014), epay.dk <= v1.5 (Apr 2014), omnikassa <= 1.3 (Oct 2014), paypal <= (Jun 2015)
25th January 2017
* update: WP 4.7 – seemingly – changed some action hook priorities (or similar) which has affected some gateways. This update should fix this.
12th December 2016
* fix: reverted update as it broke a number of things
4th November 2016
* tweak: improved compatibility with some 3rd party post cloning plugins
4th November 2016
* fix: any possible entities javascript alerts were not decoded
2nd November 2016
* fix: update to yesterdays fix
6th October 2016
* fix: minimum self pickup order value did not always get correctly applied with certain delivery settings
5th October 2016
* fix: smtp sending was broken
27th August 2016
* fix: additives were not mapped properly when displaying categories directly
18th August 2016
* tweak: added missing gettext calls for reporting export labels
* tweak: added wppizza_custom_report action hook to enable exporting of own customised report
1st August 2016
* added: a number of action hooks to add to admin order history header if necessary
* fix: KZT currency symbol was wrong
* some minor – inconsequential – tweaks in a few functions
25th July 2016
* added: option to set minimum order to be calculated after any discounts
* added: value by order status in report export
* tweak: increased z-index of minicart
* fix: reporting export always exported all data even if range selected from dropdown
21st July 2016
* fix: one of the css fields/declarations in email drag and drop templates did not get applied
* tweak: added wppizza_filter_template_values to – add more parameters to template output if necessary
29th May 2016
* tweak: optionally also display delivery note on orderpage and in emails (if delivery selected/applies and text was entered in the appropriate localization field – default value is empty !)
22nd May 2016
* fix: orders that were placed while also creating a new account were not associated with that new account
17th May 2016
* added: filters to allow other plugins to add additional parameters/variables to email/print template sections
26th April 2016

* fix: WPML – under certain circumstances, categories might have been duplicated in slave language when using !all shortcode
* fix: replaced deprecated function for WP 4.5 compatibility
13th April 2016

* fix: erroneously set require_once when including phpmailer settings which – in conjunction with certain email template settings – might have caused (html) emails not be received by customer
12th April 2016

* tweak: allow for “natural” rounding of tax fractions
* tweak: add option to force WPML string translation registration if WPML was initially installed after WPPizza
* fix: existing and saved templates did not allow adding of additional order form fields (since 2.16.6)
8th April 2016

* fix: updating user profile data from order page for logged in users was broken (probably since 2.15)
24th March 2016

* fix: some plaintext template filters were applied multiple times unnecessarily under certain circumstances
10th March 2016

* fix: although correctly applied as saved, drag/drop (email|print) template sortorders were not reflected in admin screen
* fix: tax not always displayed everywhere (though correctly applied) in non-english sites
9th March 2016

* fix: could not delete (or add notes to) orders in child sites of a multisite install
* fix: some template filter were possibily applied multiple times under certain circumstances
* added: option for pickup to be selected as default
* tweak: only show javascript alert (if enabled) when switching from default of pickup or delivery to opposite
* tweak: added alert when popup blocking is enabled on admin printing
1st March 2016

* fix: omissions in email summary data in non-english setups
* tweak/added: advance notice for wppizza v3.0 (will display on next update)
20th January 2016

* fix/tweak: sku metabox filter (if enabled) limited to running on post edit page only (might otherwsie interfere with other plugins elsewhere)
* fix: deleting abandoned orders via cron or manually did not do anything due to script error
15th December 2015

* added: ability to close shop right now without having to change opening times
* fix: re-introduced a admin js function that was removed in 2.16 – 2.16.1 other plugins might rely on
24th November 2015

* fix: unclosed tag affecting emails received at gmail/webmail account – introduced at 2.16
21st November 2015

* added: optionally enable SKU’s (wppizza->settings)
* added: warning message in admin when using unsupported/outdated mysql version
* added: option to set order page to be ssl/https
* added: added filters for display of post (menu item) title and price labels in loops, emails , order page etc
* added: added some more filters in various places for possible usage
* fix : load admin-ajax.php as http if force_ssl_admin is set without the whole site being ssl
* fix : possible orphaned templates/additional recipients eliminated
* fix : category sorting – under certain circumstances – resulted in some categories not being listed in admin
* fix : any order “from name” entities were not decoded in emails from header
* tweak: minor css tweaks
* tweak: some performance improvements in a few places
* tweak: forcing plaintext templates to be sent as html when any recipients email address is gmail, outlook etc as these do not display pure plaintext emails correctly
* tweak: made plaintext max linelength custom defineable constant
18th November 2015

* changelogs 2.12 – 2.15 can be found in /changelogs

* changelogs <= 2.11 can be found in /changelogs