Developers

  1. Modify Css / Styles / Layout
    1. Frontend Css
    2. 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. Add attachment to email
    4. On order status update
    5. Unconfirmed Orders
    6. Customise order id
    7. Changing post type arguments
    8. Gateway filter frontend
    9. Users previous orders
    10. Dynamic menu item prices
    11. Prices output loop
    12. Pickup Opening Times
    13. Additional validation function

5.12.Pickup Opening Times

Change opening times when pickup is selected

example to have different openingtimes if a user chooses pickup (pickup must of course be enabled to start off with)

(there might also be a more concise way of doing this using init hooks and globals instead of the “wppizza_filter_options” hook, but the below is tested and works)

A) setup a reusable function that contains your pickup times

@param: void
@return: array

example function myprefix_pickup_openingtimes :

/*** 
	re-usable function that sets the opening hours
	you need when it's pickup - 
***/
function myprefix_pickup_openingtimes(){
	/* mondays */
	$vars['opening_times_standard'][1]['open'] = '12:00';
	$vars['opening_times_standard'][1]['close'] = '22:00';
	/* tuesdays */
	$vars['opening_times_standard'][2]['open'] = '12:00';
	$vars['opening_times_standard'][2]['close'] = '22:00';
	/* wednesdays */
	$vars['opening_times_standard'][3]['open'] = '00:00';
	$vars['opening_times_standard'][3]['close'] = '00:00';
	/* thursdays */
	$vars['opening_times_standard'][4]['open'] = '12:00';
	$vars['opening_times_standard'][4]['close'] = '22:00';
	/* fridays */
	$vars['opening_times_standard'][5]['open'] = '12:00';
	$vars['opening_times_standard'][5]['close'] = '22:00';
	/* saturdays */
	$vars['opening_times_standard'][6]['open'] = '12:00';
	$vars['opening_times_standard'][6]['close'] = '22:00';
	/* sundays */
	$vars['opening_times_standard'][0]['open'] = '12:00';
	$vars['opening_times_standard'][0]['close'] = '22:00';	
		
	/* unset - if required - your custom opening times */ 
	$vars['opening_times_custom'] = array();
		
	/* unset - if required - any closing times */
	$vars['times_closed_standard'] = array();
		
return $vars;
}

B) dynamically change times on page load if it is pickup using “wppizza_filter_options” filter

@param: array
@return: array

example:

/*** 
	get/set the opening hours when loading the page 
	depending on whether it's pickup or delivery  
	must be bypassed here when doing ajax request
****/
add_filter('wppizza_filter_options', 'myprefix_pickup_openingtimes_options');
function myprefix_pickup_openingtimes_options($wppizza_options){
	/* bypass for ajax requests */
	if(defined('DOING_AJAX') || DOING_AJAX){
		return $wppizza_options;/* do not ever forget to return all options here !!! */
	}
	/* check current state*/
	$is_pickup = wppizza_is_pickup();
	if($is_pickup){
		$wppizza_options['openingtimes'] = myprefix_pickup_openingtimes();//get pickup opening times
	}

return $wppizza_options;/* do not ever forget to return all options here !!! */
}

C) dynamically change times when changing from pickup to delivery using “wppizza_on_pickup_delivery_change” action

@param: bool
@return: void

example:

/*** 
	get/set the opening hours at time of changing from pickup to delivery 
	(i.e at ajax request when toggeling) - 
***/
add_action('wppizza_on_pickup_delivery_change', 'myprefix_pickup_openingtimes_ajax');
function myprefix_pickup_openingtimes_ajax($is_pickup){	
	global $wppizza_options;
	if($is_pickup){
		$wppizza_options['openingtimes'] =  myprefix_pickup_openingtimes() ;//get pickup opening times
	}
}

D) force toggle to be visible using “wppizza_filter_force_pickup_toggle_display” filter

ensure the toggle is always visible as – by default – it would not be displayed if the shop is shut so there would be no way to choose a different delivery method

@param: void
@return: bool

example:

/* always show pickup/delivery option */
add_filter('wppizza_filter_force_pickup_toggle_display', 'myprefix_pickup_openingtimes_force_toggle');
function myprefix_pickup_openingtimes_force_toggle(){
	return true;	
}
Yes No Suggest edit
Suggest Edit

documentor id 5