Author: super_admin_v3x
wppizza / markup / pages / page.order.php
wppizza / markup / pages / page.confirm-order.php
The WPPizza confirmation page, if enabled in WPPizza -> Order Form Settings -> Confirmation Page
, displaying a non-editable version of the current order and customer’s personal information to be submitted to the shop.
CSS Targeting
-
Wrapper div element id:
#wppizza-order-wrap-confirmationpage
(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_confirmorder_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_confirmorder_markup', 'prefix_filter_pages_confirmorder_markup', 10, 2); function prefix_filter_pages_confirmorder_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_confirmationpage_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_confirmationpage_formfields', 'myprefix_filter_wppizza_confirmationpage_formfields', 10, 2); function myprefix_filter_wppizza_confirmationpage_formfields($formfields, $order_formatted){ /* example: remove the 2nd formfield if any item in the cart belonged to the category with id 6 */ $catId = 6 ;//the category id to search for $ffKey = 2 ;//which formfield to remove ( 1 to [n] - in this case the 2nd one ) //search through all items in cart to see if any belongs to the category above $search_for_category_id = array_search($catId, array_column($order_formatted['order']['items'], 'cat_id_selected')); // if any item belongs to category 6 , remove 2nd formfield if($search_for_category_id !== false){ unset($formfields['wpppizza_confirm_'.$ffKey.'']); } return $formfields; }
Actions available
Actions should NOT output / echo / print anything, if you need to output any elements, use the filter provided (see above)
-
action:
wppizza_confirmationpage
purpose: run an action on wppizza confirmationpage@param: $order_results array (array of order parameters)
@return: void -
action:
wppizza_confirmationpage_before_inputs
purpose: run an action when there are additional “Confirmation Page – Formfields” enabled@param: $order_results array (array of order parameters)
@return: void
examples: choose the most appropriate action hook from the list above, replacing wppizza_confirmationpage
used for this example if necessary
add_action('wppizza_confirmationpage', 'prefix_confirmationpage_myaction');
function prefix_confirmationpage_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 – Readme”
basepath: [plugin-path]/wppizza/templates/markup
filepath: [plugin-path]/wppizza/templates/markup/pages/page.confirm-order.php
Modules used in file
- [basepath]/global/formfields.inputs.php
- [basepath]/global/formfields.values.php
- [basepath]/global/pages.pickup_note.php
- [basepath]/order/itemised.php
- [basepath]/order/summary.php
wppizza / markup / pages / page.processing.php
wppizza / markup / pages / page.thankyou.php
wppizza / markup / pages / page.cancelled.php
“Order Cancelled” page when an order has been cancelled
CSS Targeting
-
Wrapper div element ID:
#wppizza-order-cancelled
(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/Actions – Notes
There are typically 2 different ways payment gateways provide to cancel an order before payment is made. Some will send a notification in the background before allowing the customer to return to the site. If this is the case, the $cancel_type
parameter referred to below will be ipn
. If however the payment gateway needs a distinct link back to the website upon clicking of which the order will be cancelled, the $cancel_type
parameter will be link
Filters available
apply filters by adding them to your child-theme’s functions.php (notes regarding functions.php)
-
filter name:
wppizza_filter_pages_cancelled_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)
@param: $cancel_type string (ipn | link) – see Notes above
@return: arrayexamples:
add_filter('wppizza_filter_pages_cancelled_markup', 'prefix_filter_pages_cancelled_markup', 10, 3); function prefix_filter_pages_cancelled_markup($markup, $order_formatted, $cancel_type){ /* notes: use print_r($markup) to view array keys with their respective markup use print_r($order_formatted) to view array containing order details $cancel_type is either 'ipn' or 'link' 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 the return to site/shop link*/ unset($markup['return_link']); /* 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['_div'] = $buffer. $markup['_div']; # add buffered output before end of wrapper div 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_cancelledpage
purpose: run an action when an order has been cancelled@param: $order_results array
@param: $cancel_type string (ipn | link) – see Notes above
@return: void
examples:
add_action('wppizza_cancelledpage', 'prefix_cancelledpage_myaction', 10, 2);
function prefix_cancelledpage_myaction($order_results, $cancel_type){
/*
note: use print_r($order_results) to view order parameters
$cancel_type is either ipn or link
*/
/*
# 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 – Readme”
basepath: [plugin-path]/wppizza/templates/markup
filepath: [plugin-path]/wppizza/templates/markup/pages/page.cancelled.php
Modules used in file
- none
Modify Templates – Readme
wppizza / markup / order
wppizza / markup / order / itemised.php
Itemised order details in cart(s), pages, users purchase history and order related widgets
CSS Targeting
-
Wrapper table element class:
.wppizza-order-itemised
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
Structure
Note: headers, rows and columns may be dynamically added or removed, depending on plugin settings. Generally however the structure is as follows. Use your browsers element inspector to determine assigned classes and id’s.
<table class="wppizza-order-itemised"> <thead> (by default thead is not visible in cart) <tr> /* header column labels as set in WPPizza -> Localization */ <th> quantity </th> <th> article </th> <th> price </th> (not displayed in cart) <th> taxrate </th> (only if multiple taxrates apply, but not in cart) <th> total </th> </tr> </thead> <tbody> /* category - if displayed/enabled */ <tr> <td colspan="5"> category name </td> (colspan dynamic) </tr> /* item details - one row per item */ <tr> <td> article quantity </td> <td> article name </td> <td> article single price </td> (not displayed in cart) <td> article taxrate </td> (only if multiple taxrates apply, but not in cart) <td> article total </td> </tr> </tbody> </table>
Filters available
apply filters by adding them to your child-theme’s functions.php (notes regarding functions.php)
-
filter name:
wppizza_filter_order_item_header_markup
purpose: modify columns within thead@param: $markup array (array of thead columns)
@param: $txt array (array of localization strings in WPPizza -> Localization)
@param: $type str (identifier for page(s) or cart )
@param: $items array (array of items of order)
@return: arrayexamples:
/* important: in the cart widget, only the most basic header columns (keys) are being used/allowed by default if you want to add an additional array/key (using the wppizza_array_splice helper for example) instead of appending/prepending it to one of the existing ones you must set a filter priority of 100 or higher ! */ add_filter('wppizza_filter_order_item_header_markup', 'prefix_filter_order_item_header_markup', 10, 4); function prefix_filter_order_item_header_markup($markup, $txt, $type, $items){ /* notes: use print_r($markup) to view thead columns array keys with their respective markup use print_r($txt) to view array of localization strings use print_r($type) to get string that gets the caller page/cart use print_r($items) to view array of order items use global $wppizza_options; to access all options/settings/localization strings etc set in the plugin */ /* example: adding additional column header AFTER quantity using standard php concatenation */ $markup['thead_th_quantity'] .= '<th class="some_class">some header text</th>'; /* example: adding additional column header BEFORE quantity using standard php concatenation */ $markup['thead_th_quantity'] = '<th class="some_class">some header text</th>' . $markup['thead_th_quantity']; /* example: adding additional column header AFTER quantity using wppizza array_splice helper function */ $splice_after['myprefix_column'] = '<th class="some_class">some header text</th>'; $markup = wppizza_array_splice($markup, $splice_after, 'thead_th_quantity' ); /* example: adding additional column header BEFORE quantity using wppizza array_splice helper function */ $splice_before['myprefix_column'] = '<th class="some_class">some header text</th>'; $markup = wppizza_array_splice($markup, $splice_before, 'thead_th_quantity' , true); /* example: adding additional column header as 3rd header column (zero-indexed) */ $splice_numeric['myprefix_column'] = '<th class="some_class">some header text</th>'; $markup = wppizza_array_splice($markup, $splice_numeric, 2 ); /* example: removing quantity header */ unset($markup['thead_th_quantity']); return $markup; }
-
filter name:
wppizza_filter_order_items_markup
purpose: modify array of itemised order before it is being processed for display@param: $markup array (array of markup elements)
@return: arrayexamples:
add_filter('wppizza_filter_order_items_markup', 'prefix_filter_order_items_markup'); function prefix_filter_order_items_markup($items){ /* notes: use print_r($items) to view order items array use global $wppizza_options; to access all options/settings/localization strings etc set in the plugin */ /* example: adding an additional key to each item */ foreach($items as $key => $item){ $items[$key]['my_key'] = 'some value'; } return $items; }
-
filter name:
wppizza_filter_order_item_columns
purpose: modify columns (td’s) for each itemised item@param: $markup array (array of menu_item_columns elements)
@param: $key str (key of item)
@param: $item array (array of item parameters for this item)
@param: $items array (array of item parameters for ALL items)
@param: $item_count int (number of items)
@param: $order_id int (order id as set in db – if known)
@param: $txt array (array of strings as set in WPPizza -> Localization)
@param: $type str (identifier for page(s) or cart )@return: array
examples:
/* important: in the cart widget, only the most basic columns (keys) are being used/allowed by default if you want to add an additional array/key (using the wppizza_array_splice helper for example) instead of appending/prepending it to one of the existing ones you must set a filter priority of 100 or higher ! */ add_filter('wppizza_filter_order_item_columns', 'prefix_filter_order_item_columns', 10, 8); function prefix_filter_order_item_columns($markup, $key , $item, $items, $item_count, $order_id, $txt, $type){ /* example: adding additional column AFTER quantity using standard php concatenation */ $markup['item_td_quantity'] .= '<td class="some_class">some text</td>'; /* example: adding additional column BEFORE quantity using standard php concatenation */ $markup['item_td_quantity'] = '<td class="some_class">some text</td>' . $markup['item_td_quantity']; /* example: adding additional column AFTER quantity using wppizza array_splice helper function */ $splice_after['myprefix_column'] = '<td class="some_class">some text</td>'; $markup = wppizza_array_splice($markup, $splice_after, 'item_td_quantity' ); /* example: adding additional column BEFORE quantity using wppizza array_splice helper function */ $splice_before['myprefix_column'] = '<td class="some_class">some text</td>'; $markup = wppizza_array_splice($markup, $splice_before, 'item_td_quantity' , true); /* example: adding additional column as 3rd column (zero-indexed) */ $splice_numeric['myprefix_column'] = '<td class="some_class">some text</td>'; $markup = wppizza_array_splice($markup, $splice_numeric, 2 ); /* example: removing quantity column */ unset($markup['item_td_quantity']); return $markup; }
-
filter name:
wppizza_filter_order_item_markup
purpose: modify row(s) for each itemised item@param: $markup array (array of menu_item row (tr + columns) elements)
@param: $key str (key of item)
@param: $item array (array of item parameters for this item)
@param: $items array (array of item parameters for ALL items)
@param: $colspan int (how many columns are used)
@param: $item_count int (number of items)
@param: $order_id int (order id as set in db – if known)
@param: $txt array (array of strings as set in WPPizza -> Localization)
@param: $type str (identifier for page(s) or cart )@return: array
examples:
add_filter('wppizza_filter_order_item_markup', 'prefix_filter_order_item_markup', 10, 9); function prefix_filter_order_item_markup($markup, $key , $item, $items, $colspan, $item_count, $order_id, $txt, $type){ /* example: adding additional - full width - row after menu item with id 400 */ if($item['post_id'] == 400){ $markup['new_row_'.$item['post_id'].'] = '<tr><td colspan="'.$colspan.'">some text</td></tr>'; } return $markup; }
-
filter name:
wppizza_filter_order_itemised_markup
purpose: modify array of itemised order before it is being processed for display@param: $markup array (array of markup elements)
@param: $blog_id int (id of blog)
@param: $order_id int (order id as set in db – if known)
@param: $items array (array of item parameters of ALL items)
@param: $txt array (array of strings as set in WPPizza -> Localization)
@param: $colspan int (number of columns)
@param: $type str (identifier for page(s) or cart )@return: array
examples:
add_filter('wppizza_filter_order_itemised_markup', 'prefix_filter_order_itemised_markup', 10, 7); function prefix_filter_order_itemised_markup($markup, $blog_id , $order_id, $items, $txt, $colspan, $type){ /* notes: use print_r($markup) to view markup array keys with their respective markup use print_r($blog_id) to get blog_id use print_r($order_id) to get order id use print_r($items) to view array of items in cart use print_r($txt) to view array of localization strings use print_r($colspan) to get number of columns use print_r($type) to get string that gets the caller page/cart use global $wppizza_options; to access all options/settings/localization strings etc set in the plugin */ /* example: adding a paragraph AFTER table element using standard php concatenation */ $markup['_table'] .= '<p>more text after div</p>'; /* example: adding a paragraph BEFORE table element using standard php concatenation */ $markup['table_'] = '<p>more text before div</p>' . $markup['table_']; /* example: adding a tfoot AFTER thead element using wppizza array_splice helper function */ $splice_after['myprefix_foot_'] = '<tfoot>'; $splice_after['myprefix_foot_tr_'] = '<tr>'; $splice_after['myprefix_foot_td_'] = '<td colspan="'.$colspan.'">'; $splice_after['myprefix_foot_text'] = 'some text'; $splice_after['_myprefix_foot_td'] = '</td>'; $splice_after['_myprefix_foot_tr'] = '</tr>'; $splice_after['_myprefix_foot'] = '</tfoot>'; $markup = wppizza_array_splice($markup, $splice_after, '_thead' ); /* example: adding a tfoot BEFORE tbody element using wppizza array_splice helper function */ $splice_before['myprefix_foot_'] = '<tfoot>'; $splice_before['myprefix_foot_tr_'] = '<tr>'; $splice_before['myprefix_foot_td_'] = '<td colspan="'.$colspan.'">'; $splice_before['myprefix_foot_text'] = 'some text'; $splice_before['_myprefix_foot_td'] = '</td>'; $splice_before['_myprefix_foot_tr'] = '</tr>'; $splice_before['_myprefix_foot'] = '</tfoot>'; $markup = wppizza_array_splice($markup, $splice_before, 'tbody_', true ); /* example: using actions of another plugin that by default outputs html to add it after the table */ 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['_table'] = $markup['_table'] . $buffer; # add buffered output after table return $markup; }
Actions available
- none
Editing files directly
ensure you have also read the Modify/Edit Templates
basepath: [plugin-path]/wppizza/templates/markup
filepath: [plugin-path]/wppizza/templates/markup/order/itemised.php
Modules used in file
- none
Module used by template file(s)
- [basepath]/cart/cart.container.php
- [basepath]/pages/page.order.php
- [basepath]/pages/page.confirm-order.php
- [basepath]/pages/page.thankyou.php
- [basepath]/pages/page.purchase-history.php
- also used to fill minicart dynamically if “view order” has been enabled