wppizza / markup / pages / 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_after['myprefix_paragraph'] = '<p>more text after opening div</p>'; 
    	$markup = wppizza_array_splice($markup, $splice_after, 'div_' );
    
    	/* example: adding a paragraph BEFORE opening div element  using wppizza array_splice helper function */
    	$splice_before['myprefix_paragraph'] = '<p>more text before opening div</p>'; 	
    	$markup = wppizza_array_splice($markup, $splice_before, 'div_' , true);
    
    	/* 
    		example: removing wrapper div 
    		(This is really just an example as to how to remove an array element. 
    		In most cases, the wrapper is written into using javascript/ajax, so removing this particular element 
    		is very unlikely to be a good idea) 
    	*/
    	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