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: arrayexamples:
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: arrayexamples:
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 formwppizza_filter_orderpage_before_orderform
– before orderformwppizza_filter_orderpage_after_order_details
– before order detailswppizza_filter_orderpage_after_personal_details
– before personal detailswppizza_filter_orderpage_after_payment_details
– before payment detailswppizza_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
documentor id 5