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.8.Gateway filter frontend

Conditionally display gateways

if you wanted to disable a gateway conditionally (lets say no cash on delivery for non logged in users) you could add this to your themes functions.php

wppizza_filter_gateways_orderpage

@param: array
@return: array

example:

add_filter('wppizza_filter_gateways_orderpage', 'my_custom_gateways_filter');
function my_custom_gateways_filter($gateways){
	/* disable Cash on delivery for non-logged in users */
	if( !is_user_logged_in()){
		unset($gateways['COD']);//gateway keys are always uppercase
	}
return $gateways;
}

wppizza_filter_gateways_payment_options

as of wppizza 3.2.5 you can also do something like the following to conditionally enable/disable gateways depending on order value

add_filter('wppizza_filter_gateways_payment_options', 'my_custom_gateways_on_zero', 10 , 3);
function my_custom_gateways_on_zero($gateway_objects, $order_data,  $user_data){

	/*
		just for convenience
	*/
	$cart_total = $order_data['summary']['total'][0]['value'];
	
	/* 
		Example:
		if cart total is zero, disable all credit card payment gateways 
		i.e simply keep COD (which must be enabled for this to work of of course)
	*/
	if(empty($cart_total)){
		foreach($gateway_objects as $id => $obj){	
			
			/* hint: you could - temporarily - do a print_r($id) here to see all the id's associated with any gateways you have enabled */
			
			if($id !== 'COD'){
				unset($gateway_objects->$id);	
			}
		}
	}

	/* 
		Example:	
		if cart total is > zeror, disable all NON credit card gateways - if that's what suits you
		you can use both examples in conjunctions with each other of course
	*/	
	if(!empty($cart_total)){
		unset( $gateway_objects->COD );
	}


return $gateway_objects;
}
Yes No Suggest edit
Suggest Edit

documentor id 5