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. Prices output loop
    14. Pickup opening times
    15. Checkout Formfields
    16. Additional validation function
  6. Extensions / Gateways
    1. Cross-Sells
    2. Goodcom Printer
    3. Add Ingredients
    4. Pdf Invoices
    5. Delivery By Post/Zipcode
    6. Autoprint
    7. Confirm | Reject | Notify
    8. Preorder
    9. Gateway - Stripe

6.8.Preorder

Customisations WPPizza Preorder

Highlighting preorders for days after today in *emails* sent (for print templates, simply use css declarations)

Your email template(s) selected MUST be set to “Html” for this to make any difference set conditionals as required

@param: array
@param: array
@param: str
@param: int
@param: array
@return: array

add_filter( 'wppizza_filter_template_section_customer_styles', 'myprefix_set_email_styles', 10, 5 );
function myprefix_set_email_styles($template_styles, $parameters, $template_type, $template_id, $order){
	/*
	restricting to email templates here 
	*/
	if($template_type == 'emails'){
	
		/*
			set as variable for ease of use 
		*/
		$pluginSlug = 'wppizza_preorder';
	
		/*
			get preorder meta value / timestamp
			this will be something like '2021-02-11 13:45:00' OR 'asap' if nothing was selected
		*/
		$preorder =  wppizza_get_order_meta($order['ordervars']['order_id']['value'], $pluginSlug, true );
		
		/*
			end of day today, based on wordpress timezone settings current time
		*/
		$eod = date('Y-m-d 23:59:59', WPPIZZA_WP_TIME);
		
		/*
			as an example, make the preorder text in the emails red if 
			preorder time is on/after midnight tonight and set fontsize
			set your conditionals as required
		*/
		if($preorder !='asap' && $preorder > $eod ){
			$template_styles[''.$pluginSlug.'-tdall'] = 'color:red;font-size:120%';
		}
		
	}
return $template_styles;
}

Adding additional date format(s) – (see php date format for details)

As with all customisations, use at your own risk. You should test this thoroughly, especially if you want to use textual representations of a part of the date (months, weekdays) or separators other than:

  • “/”(slash)
  • “-“(hyphen)
  • ” “(space)
  • “.”(dots)

Whatever you do, do not use/enable “j F, Y” here as the comma after a textual month will stop the javascript library used from validating the date

@param: array
@return: array

add_filter( 'wppizza_po_filter_dateformat', 'myprefix_add_po_date_format');
function myprefix_add_po_date_format($date_format){
	/* just as example how to do this, this already exists as an option */
	$date_format[] = 'M j, Y';
return $date_format;
}

Alter preorder date/time format *after an order has been made* (I.e in thank you page, emails etc ), regardless of plugin settings

@param: array
@param: array
@param: array
@param: array
@return: array

add_filter('wppizza_filter_order_details_formatted', 'my_custom_details_formatted', 10, 4);
function my_custom_details_formatted($order_formatted, $order_ini, $customer_ini, $order_values){
	
	/*
		preorder plugin slug
	*/
	$plugin_slug = 'wppizza_preorder';
	
	/*
		order id
	*/
	$order_id = $order_values['id'];
	
	/*
		get preorder metavalue timestamp, and reformat from timestamp
		skip if 'asap' 
	*/
	$preorder_meta_value = wppizza_get_order_meta( $order_id, $plugin_slug, true);	
	
	if(!empty($preorder_meta_value) && $preorder_meta_value != 'asap'){
		
		/* 
			set desired format 
		*/
		$custom_format = date('l, d M Y @ H|i|s', strtotime($preorder_meta_value));
		/* 
			alter output of preorder value in emails prints etc
		*/		
		$order_formatted['sections']['customer'][$plugin_slug]['value'] = $custom_format;
		

	}


return $order_formatted;	
}

Suggest Edit

documentor id 5