Developers

  1. Modify Css / Styles / Layout
    1. Layout (Menu Items, General)
    2. Frontend Css
    3. Admin Css
  2. Templates
    1. Pages
      1. page.order.php
      2. page.confirm-order.php
      3. page.processing.php
      4. page.thankyou.php
      5. page.cancelled.php
      6. page.purchase-history.php
    2. Order
      1. itemised.php
      2. summary.php
      3. transaction_details.php
    3. Global
      1. orderinfo.php (Widget)
      2. openingtimes.php (Widget)
      3. additives.php (Widget)
      4. navigation.list.php (Widget)
      5. navigation.dropdown.php (Widget)
      6. search.php (Widget)
      7. totals.php (Widget)
      8. pickup_choice.php (Mixed)
      9. login.php (Module)
      10. profile.register.php (Module)
      11. profile.update.php (Module)
      12. pages.pickup_note.php (Module)
      13. formfields.inputs.php (Module)
      14. formfields.values.php (Module)
    4. Cart
      1. cart.container.php
      2. cart.shopclosed.php
      3. cart.empty.php
      4. cart.pickup_note.php
      5. cart.checkout_button.php
      6. cart.empty_cart_button.php
      7. cart.minimum_order.php
      8. minicart.php
    5. Loop (Menu Items)
      1. header.php
      2. no_results.php
      3. posts.title.php
      4. posts.thumbnail.php
      5. posts.prices.php
      6. posts.content.php
      7. posts.permalink.php
      8. additives.php
      9. pagination.php
      10. theme-wrapper.php
    6. Search Results
      1. search.php
    7. Single Menu Item
      1. single.php
    8. functions.php
  3. Filters, Actions, Functions
    1. Global WPPizza functions
    2. WPPizza options (Filter)
    3. Currency (Filter)
    4. After every order (Action)
    5. Getting orders (Function)
  4. Constants
    1. Admin Name
    2. Admin Menu Icon
    3. SORT_ITEMS_AS_ADDED
    4. SINGLE_PERMALINK_VAR
    5. WIDGET_CSS_CLASS
    6. PLAINTEXT_LINE_LENGTH
    7. ADMIN_{CONSTANTS}
    8. DEV_{CONSTANTS}
    9. INSTALL_{CONSTANTS}
    10. TRANSACTION_{CONSTANTS}
  5. Codesnippets
    1. Create your own sales report
    2. Order history - todays orders
    3. Email/Print templates
    4. Email Subject Line
    5. Add attachment to email
    6. On order status update
    7. Unconfirmed orders
    8. Customise order id
    9. Changing post type arguments
    10. Gateway filter frontend
    11. Users previous orders
    12. Dynamic menu item prices
    13. Update prices in bulk
    14. Prices output loop
    15. Pickup opening times
    16. Checkout Formfields
    17. Additional validation function
  6. Extensions / Gateways
    1. Add Ingredients
    2. Autoprint
    3. Confirm | Reject | Notify
    4. Coupons and Discounts
    5. Cross-Sells
    6. Delivery By Post/Zipcode
    7. Goodcom Printer
    8. Mailinglists
    9. Pdf Invoices
    10. Preorder
    11. Gateway - Stripe

2.1.1.page.order.php

The main WPPizza order/checkout page as set in WPPizza -> Order Settings -> Global -> Order Page displaying the current order and customer’s personal information to be submitted to the shop.

CSS Targeting

  • Wrapper div element id: wppizza-order-wrap-orderpage (unique to this page)
  • Wrapper div element class: wppizza-order-wrap (used on all pages)

if you simply want to edit some styles/layout (text-sizes, color, margins, paddings etc etc ) it is strongly recommended to use css instead of filters/actions. Please refer to Modify Styles/Layout

Filters available

apply filters by adding them to your child-theme’s functions.php (notes regarding functions.php)

  • filter name: wppizza_filter_pages_order_markup
    purpose: modify the html markup of the page as required

    @param: $markup array (array of markup elements)
    @param: $order_formatted array (array of order details)
    @return: array

    examples:

    
    
    add_filter('wppizza_filter_pages_order_markup', 'prefix_filter_pages_order_markup', 10, 2);
    function prefix_filter_pages_order_markup($markup, $order_formatted){
    
    	/* 
    		notes: 
    		use print_r($markup) to view array keys with their respective markup
    		use print_r($order_formatted) to view array containing order details
    		use global $wppizza_options; to access all options/settings/localization strings etc set in the plugin 
    	*/
    
    	/* example: adding a paragraph AFTER opening div element using standard php concatenation */
    	$markup['div_'] .= '<p>more text after opening div</p>'; 
    
    	/* example: adding a paragraph BEFORE opening div element  using standard php concatenation */
    	$markup['div_'] = '<p>more text before opening div</p>' . $markup['div_']; 
    
    	/* example: adding a paragraph AFTER opening div element using wppizza array_splice helper function */
    	$splice_before['myprefix_paragraph'] = '<p>more text after opening div</p>'; 
    	$markup = wppizza_array_splice($markup, $splice_before, 'div_' );
    
    	/* example: adding a paragraph BEFORE opening div element  using wppizza array_splice helper function */
    	$splice_after['myprefix_paragraph'] = '<p>more text before opening div</p>'; 	
    	$markup = wppizza_array_splice($markup, $splice_after, 'div_' , true);
    
    	/* example: removing wrapper div */
    	unset($markup['div_']);
    	unset($markup['_div']);
    
    	/* example: using actions of another plugin that by default outputs html to add it before the end of the form element */
    	ob_start(); # start buffering
    	do_action('other_plugin_output'); # run action of other plugin that outputs things
    	$buffer= ob_get_contents(); # capture buffer in variable
    	ob_end_clean(); # clean buffer			
    	$markup['_form'] = $buffer. $markup['_form']; # add buffered output before end of form
    
    return $markup;
    }
    		
  • filter name: wppizza_filter_orderpage_formfields
    purpose: modify the formfields
    @param: $array (array of formfield elements)
    @param: $order_formatted array (array of order details)
    @return: array

    examples:

    
    
    add_filter('wppizza_filter_orderpage_formfields', 'myprefix_filter_wppizza_orderpage_formfields', 10, 2);
    function myprefix_filter_wppizza_orderpage_formfields($formfields, $order_formatted){
    	/*
    		example: 
    		conditionally remove the 'ctel' formfield if any item in the cart was from the category with id 7
    	*/
    	$catId = 7 ;//the category id to search for 
    	$search_for_category_id = array_search($catId, array_column($order_formatted['order']['items'], 'cat_id_selected'));//search through all items in cart to see if any belongs to the category above
    	// if any item belongs to category 7 , remove 'ctel' formfield
    	if($search_for_category_id !== false){
    		unset($formfields['ctel']);
    	}
    
    return $formfields;
    }
    		

Furthermore, the following dedicated filters are also available for some more simplicity if you want to insert/add additional html in certain places as indicated.

  • wppizza_filter_orderpage_before_login_form – before login form
  • wppizza_filter_orderpage_before_orderform – before orderform
  • wppizza_filter_orderpage_after_order_details – before order details
  • wppizza_filter_orderpage_after_personal_details – before personal details
  • wppizza_filter_orderpage_after_payment_details – before payment details
  • wppizza_filter_orderpage_after_orderform – after order form
  • @param: $markup string(by default, this is an empty string)
    @param: $order_formatted array (array of order details)
    examples:

    
    
    add_filter('wppizza_filter_orderpage_after_order_details', 'myprefix_markup', 10, 2);
    function myprefix_markup($markup, $order_details_formatted){
    	/* adding some extra markup after order details */
    	$markup .= 'some additional markup as required';
    return $markup; 
    }
    
    		

Actions available

Actions should NOT output / echo / print anything, if you need to output any elements, use the filter provided (see above)

  • action: wppizza_orderpage
    purpose: run an action on wppizza orderpage

    @param: $order_results array (array of order parameters)
    @return: void

  • action: wppizza_orderpage_if_shop_closed
    purpose: run an action when shop is closed

    @param: $order_results array (array of order parameters)
    @return: void

  • action: wppizza_orderpage_if_shop_open
    purpose: run an action when shop is open

    @param: $order_results array (array of order parameters)
    @return: void

  • action: wppizza_orderpage_cart_empty
    purpose: run an action when cart is empty (shop must be open too)

    @param: $order_results array (array of order parameters)
    @return: void

  • action: wppizza_orderpage_cart_not_empty
    purpose: run an action when cart is NOT empty (shop must be open too)

    @param: $order_results array (array of order parameters)
    @return: void

  • action: wppizza_orderpage_can_checkout
    purpose: run an action when user can checkout – i.e minimum order reached, cart not empty, shop is open etc

    @param: $order_results array (array of order parameters)
    @return: void

  • examples: choose the most appropriate action hook from the list above, replacing wppizza_orderpage used for this example if necessary

    
    add_action('wppizza_orderpage', 'prefix_orderpage_myaction');
    function prefix_orderpage_myaction($order_results){
    
    	/* note: use print_r($order_results) to view order parameters */
    
    	/* 
    	#	run your code/action 
    	*/
    
    	/* do not output/echo anything - use the filter above instead if you need to*/
    return;
    }
    		

Editing files directly

ensure you have also read the Modify/Edit Templates

basepath: [plugin-path]/wppizza/templates/markup

filepath: [plugin-path]/wppizza/templates/markup/pages/page.order.php

Modules used in file

  • [basepath]/global/login.php
  • [basepath]/order/itemised.php
  • [basepath]/order/summary.php
  • [basepath]/global/pages.pickup_note.php
  • [basepath]/global/pickup_choice.php
  • [basepath]/global/formfields.inputs.php
  • [basepath]/global/profile.update.php / markup/global/profile.register.php
Suggest Edit

documentor id 5