2.1.6.page.purchase-history.php
Users purchase history – page containing shortcode [wppizza type="orderhistory"]
. Displays purchases of registered/known users or login form if not logged in. Registration WP -> Settings -> General -> Anyone can register
must be enabled for this to be useful.
CSS Targeting
-
Wrapper div element ID:
#wppizza-orders-wrap-orderhistory
(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_purchasehistory_markup
purpose: modify the html markup of the page as required@param: $markup array (array of markup elements)
@param: $purchase_history array (array of purchase history – empty array if not logged in or no previous orders)
@return: arrayexamples:
add_filter('wppizza_filter_pages_purchasehistory_markup', 'prefix_filter_pages_purchasehistory_markup', 10, 2); function prefix_filter_pages_purchasehistory_markup($markup, $purchase_history){ /* notes: use print_r($markup) to view array keys with their respective markup use print_r($purchase_history) to view array of purchase_history (has distinct blog and order id's added for convenience) 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 fieldset element around each order details */ foreach($purchase_history as $key => $arr){ unset($markup['fieldset_'.$key.'_']); # remove opening element unset($markup['_fieldset_'.$key.'']); # remove closing element } /* example: using actions of another plugin that by default outputs html to add it after the pagination */ 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['pagination'] = $markup['pagination'] . $buffer; # add buffered output after pagination 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_purchasehistory
purpose: run an action on purchase history page@param: $purchase_history array (array of purchase history – empty array if not logged in or no previous orders)
@return: void -
action:
wppizza_purchasehistory_noorders
purpose: run an action if purchase history has no orders – (only if logged in)@param: $purchase_history array (empty array)
@return: void -
action:
wppizza_purchasehistory_hasorders
purpose: run an action if purchase history has orders – (only if logged in)@param: $purchase_history array (array of purchase history)
@return: void -
action:
wppizza_purchasehistory_each_order
purpose: run an action for each order in purchase history – (only if logged in)@param: $purchase_history array (array of order details for this particular order in loop)
@return: void -
examples: choose the most appropriate action hook from the list above, replacing
wppizza_purchasehistory
used for this example if necessaryadd_action('wppizza_purchasehistory', 'prefix_purchasehistory_myaction'); function prefix_purchasehistory_myaction($purchase_history){ /* note: use print_r($purchase_history) to view 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.purchase-history.php
Modules used in file
- [basepath]/global/login.php
- [basepath]/order/itemised.php
- [basepath]/order/summary.php
- [basepath]/order/transaction_details.php
documentor id 5