Setup
although some defaults will be installed and set when first installing the WPPizza plugin, you will have to configure some things to make it play nicely in your theme
Note: you might want to start with Option 1 first, as you can always use Option 2 later
===== Option 1 (Default) – using standard worpress pages =====
Easier to setup initially, but perhaps more labour intensive to maintain in the long run – especially if your categories change frequently. To get you started quickly and to help you decide if this plugin suits your purpose, the following defaults are being created on first install:
Installed by default on first install
- some default categories
- some default menu items per category
- pages that display the items in any given category (including the required shortcode)
- an “Order Page” to send any orders to you via email (including the required shortcode) – by default the admin email will be used/set
- a “Purchase History” page (i.e the page containing shortcode [wppizza type=”orderhistory”]), which lets registered users view their previous purchases (see note below).
- a default list of additives/allergens/food types that a menu item might have
- a selection of available meal sizes
- as well as default opening times, order settings etc.
Basic configuration you need to do/adjust
- Display the shoppincart on WPPizza pages (typically in a sidebar) using the wppizza widget
WP -> Appearance -> Widgets -> WPPizza type:cart
or the following shortcode:[wppizza type='cart']
*1 - If not already the case (usually by some pagelist or menu), add the WPPizza menu item pages to your menu
WP -> Appearance -> Menus
or in however you/your theme is displaying navigation links. *2 - Set your openingtimes as required
WPPizza -> Opening Times
*3 - Ensure your timezone settings are correct
WP-> General
*3 - If you are using some form of caching (plugin or otherwise) make sure that you exclude the orderpage from being cached. (Refer to the documentation of your chosen caching solutions as to how to do this). Furthermore, ensure to enable and save “WPPizza -> Settings -> “I am using a caching plugin”
- Note: for the “Purchase History” page to be useful, registration must be enabled in your WordPress setup (Settings->General->Membership: anyone can register)
*1 ALL pages that display your WPPizza menu items must have the shopping cart displayed somewhere. Please note however, that the cart will never be displayed on the orderpage as all details are already available there
*2 Adding the orderpage to the Menu is not required and optional. However, it must exist and be set in WPPizza-> Order Settings -> Global : Order Page
*3 This must be correct to open and close the shop as required. So if you receive an unexpected “currently closed”, please doublecheck these settings
that should be it……
Troubleshooting
If you have any issues, please re-check and verify the following
- Order Page: Ensure a/your order page – as set in
WPPizza -> Order Settings
actually/still exists and has the following shortcode on it[wppizza type="orderpage"]
(or the equivalent widget if thausing a ct works in your scenario). Also – vice versa – this page is the one selected as “Order Page” inWPPizza -> Order Settings
You optionally might also want to consider – if your theme allows for this – to set your themes template for this page to a “full width” template - Shoppingcart: Make sure all pages with menu items have a shoppingcart displayed somewhere, either by sidebar widget or shortcode. You will not be able to add anything to a cart if there isn’t one.
- Caching: Although WPPizza tries to automatically detect if a caching plugin is being used it might not always be able to do so with some caching plugins available. Therefore, if you are using a caching plugin and you experience strange behaviour – such as the WPPizza order page being prefilled with other users data or the WPPizza shopping cart having items in it already that you did not put there or not as many as there should be – please enable and save “WPPizza -> Settings -> “I am using a caching plugin”. If you still have problems on the orderpage also ensure that your caching plugin does not cache the order page (please see your caching plugins documention as to how to do that. If it does not allow for this you will have to use another).
- Navigation widget: You should NOT be using this widget or associated shortcode if using pages to display your menu items. It is really only useful if using option 2 below . Please read here.
Using WP->Appearance->Menus
for navigation: DO use/select from the “Pages” selection that have been created or you have added that have the relevant WPPIZZA shortcode on them which displays the menu items for a given category to add to the navigation you do NOT want to add from the selection of “WPPIZZA Categories” to the navigation menu. These are also only useful if using option 2 below.
If this is the case you should be able to fix the table by going to
WPPizza -> Tools -> Maintenance (Tab at the top)
then enable/check “Update order table” and click “Save Changes” once.NOTE: some themes (custom community for example) require that you distinctly save the automatically inserted pages again (i.e “order page”, etc) to generate the right markup and display correctly. So if the layout is messed up on initial install, try to just save those pages once and see if that fixes things.
============ Option 2 (Advanced) – using templates =========
NOTE: although it would work the same way with your normal/main theme the below assumes you are using a child theme. If you are not using a child theme, now would be a good time to create one to allow you to update your main theme when an update becomes available without loosing any of your changes or additions you make now or in the future. If you do not know how to create a child theme or why to use one, please refer to the wordpress codex here.
- create a theme-wrapper.php template as as described here
- display the navigation by either using the
WP -> Appearances -> Widgets -> WPPizza (type:navigation)
or a shortcode[wppizza type='navigation']
somewhere - ensure you still have an order page that includes the following shortcode
[wppizza type='orderpage']
and that WPPizza -> Settings -> Order settings -> Global:Order page is set to use this page (you might have to re-save your permalink settings) - ensure – as outlined in Option 1 above – that you are still displaying your shopping cart
- optional: if you wish you can now delete all wppizza default pages EXCEPT THE ORDER PAGE. However, if you have registration enabled on your site, you might also want to keep the “Purchase History” Page (i.e the page containing shortcode
[wppizza type="orderhistory"]
) and link to it from somewhere (like your navigation menu) - if you are using permalinks you might want to change the default of
/wppizza_menu/
to something more appropriate for your shop. So, if for example you want this permalink to be/my_shop/
instead, simply create a new standalone page (without subpages) in WP -> pages and set the slug to bemy_shop
. Optionally add the shortcode[wppizza]
to that page (or anything else you want really). Once you have created that page, go to WPPizza -> Settings -> Permalinks:Categories/Pages, set this newly created page there and save. After doing this you must update/save your permalinks structure once in WP -> Settings -> Permalinks. Your permalinks will now use this new slug as opposed to the default. - if you have registration enabled, you might also want to keep the “Purchase History” Page (i.e the page containing shortcode
[wppizza type="orderhistory"]
) and link to it from somewhere (like your navigation menu)
Now you do not have to maintain any wppizza category pages separately, or navigation when adding new categories or menu items to wppizza as it’s all taken care of automagically.
PS: you might have to adjust the css somewhat to work within your theme. see FAQ: “Can I edit the css ?” for details