Author: super_admin_v3x

Filters, Actions, Functions

Preamble: If you want to do any kind of wordpress development other than “point and click” or basics like css etc it is imperative to know how wordpress actions and filters work. Actions/Filters let extend or change functionality of plugins/themes (or wordpress itself for that 

Changing post type arguments

Altering WPPizza custom post type and taxonomy labels and arguments there are several filters you can use to change the WPPizza custom post type as well as taxonomies labels, arguments. Please refer to WordPress codex regarding register_posttype and register_taxonomy. wppizza_filter_cpt_lbls filter wppizza custom post type 

Global WPPizza functions

Below you will find a number of globally available WPPizza related functions you could use in your own plugin development or for use in filters / actions

wppizza_is_checkout (alias of wppizza_is_orderpage)

determine if the current page the user is on is the WPPizza checkout page as set in WPPizza -> Order Settings -> Global

@return: bool – true if current page is checkout page, false if not.

example:

if(wppizza_is_checkout()){
	/* do something if on checkout page*/
}
/* using alias */
if(wppizza_is_orderpage()){
	/* do something if on checkout page*/
}

wppizza_is_orderhistory

determine if the current page the user is on is the page that contains the shortcode [wppizza type='orderhistory'] to display the users order history

@return: bool – true or false

example:

if(wppizza_is_orderhistory()){
	/* do something if on users order history page*/
}

wppizza_get_categories

get all wppizza categories as set in WPPizza -> Categories

@return: array

example:

$wppizza_categories= wppizza_get_categories();
print_r($wppizza_categories); /* print array of categories */

wppizza_get_menu_items

get all wppizza menu items as set in WPPizza -> Menu Items

@return: array of objects

example:

$wppizza_menu_items = wppizza_get_menu_items();
print_r($wppizza_menu_items ); /* print array of wppizza menu items*/

wppizza_all_additives

get all wppizza additives as set in WPPizza -> Additives

@return: array

example:

$wppizza_all_additives= wppizza_all_additives();
print_r($wppizza_all_additives); /* print array of wppizza additives*/

wppizza_is_pickup

determine if the current user has self pickup selected provided it generally enabled in WPPizza -> Order Settings -> Pickup

@return: bool – true if pickup, false if not.

example:

if(wppizza_is_pickup()){
	/* do something if pickup selected*/
}

wppizza_cart_is_empty

determine if the current user has nothing put into the cart yet

@return: bool – true if there’s nothing in the cart, false if not.

example:

if(wppizza_cart_is_empty()){
	/* do something if nothing in cart*/
}

wppizza_cart_has_items

determine if the current user has something put into the cart (opposite of wppizza_cart_is_empty)

@return: bool – true if there’s something in the cart, false if not.

example:

if(wppizza_cart_has_items()){
	/* do something if something's in the cart*/
}

wppizza_get_cart

get the contents of the cart in a multidimensional array (since version 3.2.7)

@return: array

example:

$wppizza_get_cart = wppizza_get_cart();
print_r($wppizza_get_cart); /* print full array of cart contents*/

wppizza_cart_summary

get a summary of the cart parameters (totals, taxes etc) (since version 3.2.7)

@return: array

example:

$wppizza_cart_summary = wppizza_cart_summary();
print_r($wppizza_cart_summary); /* print array */

wppizza_is_shop_open

determine if the shop is open depending on settings in WPPizza -> Opening Times

@return: bool – true if shop is open, false if not.

example:

if(wppizza_is_shop_open()){
	/* do something if shop's open */
}

wppizza_is_current_businessday

determine if current time is within the current business day (as opening hours can cross midnight) between opening and closing time depending on settings in WPPizza -> Opening Times – requires php 5.3+

@return: bool – true if it is, false if it is not.

example:

if(wppizza_is_current_businessday()){
	/* do something if current time is within the current business day opening hours */
}

wppizza_get_wordpress_pages

get all wordpress pages for current blog

@return: array of objects

example:

$wppizza_get_wordpress_pages= wppizza_get_wordpress_pages();
print_r($wppizza_get_wordpress_pages); /* print array of pages*/

wppizza_get_networkpages

get network sites/pages (current blog only if not in network setup)

@return: array

example:

$wppizza_get_networkpages = wppizza_get_networkpages();
print_r($wppizza_get_networkpages); /* print array of pages*/

wppizza_sizes_available

get all wppizza sizes as set in WPPizza -> Meal Sizes

@return: array

example:

$wppizza_sizes_available= wppizza_sizes_available();
print_r($wppizza_sizes_available); /* print array of wppizza meal sizes*/

wppizza_page_links

get url of WPPizza checkout page as set in WPPizza -> Order Settings -> Global and/or WPPizza amend orderpage as set in WPPizza -> Order Form Settings -> Confirmationpage (if used)

@param: str|false (default false or string of ‘orderpage’ or ‘amendorderlink’)
@return: mixed array|str

examples:

$wppizza_orderpages_urls = wppizza_page_links();
print_r($wppizza_orderpages_urls ); /* returns array of both urls /


$wppizza_orderpage_url = wppizza_page_links('orderpage');
echo  $wppizza_orderpage_url /*; prints url to order page set /


$wppizza_amendorderlink_url = wppizza_page_links('amendorderlink');
echo  $wppizza_amendorderlink_url; /* prints url to amend order page set /

wppizza_format_price

format price according to options set in WPPizza -> Layout ->Prices / Currency Symbols including spacing and currency and decimal formatting

@param: float (should be at least a numeric string . no commas or thousands separators !)
@return: str

example:

$formatted_price = wppizza_format_price(6.5);
echo $formatted_price ; /* prints something like   $ 6.50 */

wppizza_output_format_price

format price according to options set in WPPizza -> Layout ->Prices / Currency Symbols WITH decimal formatting but WITHOUT any spacing or currency symbols

@param: float (should be at least a numeric string . no commas or thousands separators !)
@return: str

example:

$formatted_price = wppizza_output_format_price(3.2);
echo $formatted_price ; /* prints something like 3.20 */

wppizza_breadcrumbs

If your theme does not provide for breadcrumbs, but you want to use them, you can do something like the following. Edit as required

@param: array
@param: array //optional
@param: array //optional
@param: array //optional
@param: int //optional
@param: int //optional

@return: array

example:

//only the first parameter is really needed for the breadcrumbs here, but for completeness all 6 are listed below
add_filter('wppizza_loop_before_menu_items', 'prefix_add_wppizza_breadcrumbs', 10, 6);
function prefix_add_wppizza_breadcrumbs($markup, $txt, $additives, $category, $max_num_pages, $post_count){ 
	// default arguments are as follows
	$args = array();
 	$args['here_text']        = __( 'You are currently here!' );
	$args['home_link']        = home_url('/');
	$args['home_text']        = __( 'Home' );
	$args['link_before']      = '';
	$args['link_after']       = '';
	$args['link_attr']        = ' rel="v:url" property="v:title"';
	$args['delimiter']        = ' » ';              // Delimiter between crumbs
	$args['before']           = ''; // Tag before the current crumb
	$args['after']            = '';// Tag after the current crumb    

	// output the breadcrumbs according to arguments
	$markup['breadcrumbs'] = wppizza_breadcrumbs($args);	

return $markup;	
}

Additional filterhooks available you could use alternatively to the ‘wppizza_loop_before_menu_items’ above or even additionally if you like

 - wppizza_loop_before_header
 - wppizza_loop_after_header
 - wppizza_loop_before_menu_items
 - wppizza_loop_after_menu_items
 - wppizza_loop_before_additives
 - wppizza_loop_after_additives
 - wppizza_loop_before_pagination
 - wppizza_loop_after_pagination

WPPizza options

Filtering wppizza options (for you own plugin development for example) wppizza_filter_options if you want change any WPPizza option values depending on some arbitrary setting and or write a plugin that dynamically changes values or any other things that you can think of that needs a 

After every order

Run an action after every successful completed order wppizza_on_order_execute if you want run an action (i.e your own function/plugin) after an order has been successfully completed, you can hook into wppizza_on_order_execute @param: int @param: array (formatted array of order details) @param: array (an array of 

Currency

change the currency symbol or add a new currency

wppizza_filter_currencies

if you want change currency symbols for a given currency or indeed need to add a new one in case your currency is missing from the 140+ already available

@param: array (array of all currencies with they array key being 3-letter ISO and the value being symbol you want to have displayed)

@return: array

example:

add_filter('wppizza_filter_currencies', 'myprefix_filter_currencies');
function myprefix_filter_currencies($curr){
 
   /* example, changing the default symbol from € to EUR */
    $curr['EUR'] = 'EUR';

    /* 
     example, adding a new currency 
     ABC being the 3-letter ISO and # being the currency symbol to be displayed
    */
    $curr['ABC'] = '#';
   
return $curr;
}

T&C’s – How do licences work (Support, Updates, Renewals, Refunds)

LICENCES All extensions and gateways – unless specified otherwise – are available as single, 2-5 or unlimited domain licences. A single domain licence can only be used on one single domain. If you would like to use the extension(s) on more than one domain, please 

WPPizza + Woocommerce

Please note: WPPizza has absolutely nothing to do with woocommerce (or any other wordpress eCommerce plugin for that matter). Although you should be able to use WPPizza and woocommerce (or any other wordpress plugin) happily alongside each other, they do not talk to each other. 

Privacy (GDPR)

As of WPPizza version 3.6+ privacy controls can be found under WPPizza -> Tools -> Privacy (GDPR) ([tab] at the top) .
Please refer to the help screen there regarding details.

(Privacy controls for WPPizza versions between v3.5 and v3.5.0.2 can be found at WPPizza->Settings->Privacy, although using v3.6+ is recommended as more options are available)

Customisation

Plugins are provided “as is” and generally I do not / can not offer any kind of one-off/individual customisation of your site and/or plugins (wppizza or not). Wppizza would never have had all the functionality it already has if I were to allow myself to