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.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: array

    examples:

    
    
    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 necessary

    
    add_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
Suggest Edit

documentor id 5