Cross-Sells

Filters to alter the behaviour of the WPPizza cross-sell display

wppizza_xsells_filter_slick_parameters

The “WPPizza Cross-Sell” extension utilises the “Slick” Carousel to display the cross-sell items. The filter below allows you to alter the settings according to your requirements and the options available

For a full list of available parameters please refer to http://kenwheeler.github.io/slick/

@param: array(parameters)
@return: array(filtered parameters)

example:

add_filter('wppizza_xsells_filter_slick_parameters', 'my_slick_parameters');
function my_slick_parameters($slick_parameters){
	
	/*	
		the following defaults are being set in the plugin by default
					
		$slick_parameters['dots'] = false;
		$slick_parameters['arrows'] = true;
		$slick_parameters['infinite'] = false;
		/* default 3 slides */
		$slick_parameters['slidesToShow'] = 3 ;
		$slick_parameters['slidesToScroll'] = 3 ;
		$slick_parameters['responsive'] = array();
		/* under 800 px browser width, 2 slides only */
		$slick_parameters['responsive'][0]['breakpoint'] = 800;
		$slick_parameters['responsive'][0]['settings'] = array();
		$slick_parameters['responsive'][0]['settings']['slidesToShow'] = 2;
		$slick_parameters['responsive'][0]['settings']['slidesToScroll'] = 2;
		/* under 400 px browser width, 1 slide only */
		$slick_parameters['responsive'][1]['breakpoint'] = 400;
		$slick_parameters['responsive'][1]['settings'] = array();
		$slick_parameters['responsive'][1]['settings']['slidesToShow'] = 1;
		$slick_parameters['responsive'][1]['settings']['slidesToScroll'] = 1;

	*/

	/* example: enabling dots */
	$slick_parameters['dots'] = true;
	
	/* example: enabling infinite loop*/
	$slick_parameters['infinite'] = true;

	/* example: display 4 visible items (instead of the default 3)*/
	$slick_parameters['slidesToShow'] = 4 ;
	$slick_parameters['slidesToScroll'] = 4 ;

	/* example: setting only one breakpoint at 600 with 1 slide only */
	unset($slick_parameters['responsive']);/* first unset default breakpoints */
	$slick_parameters['responsive'][0]['breakpoint'] = 600;
	$slick_parameters['responsive'][0]['settings'] = array();
	$slick_parameters['responsive'][0]['settings']['slidesToShow'] = 1;
	$slick_parameters['responsive'][0]['settings']['slidesToScroll'] = 1;

return $slick_parameters ;
}

wppizza_xsells_filter_shortcode_atts

The Cross-Sells widget is – in essence – displayed by executing the following shortcode: [wppizza single='23,3' price_id='1,0' style='wppizza_xsells' showadditives='0' noheader='1' notags='1'] where “single” and “price_id” will determine which menu items and respective sizes to display. Although the ‘single’ and ‘price_id’ attributes are not filterable, *some* of the other display attributes – such as “currency_main”, “currency_price” , “image_prettyphoto” for example – can be used additionally if you would like to override some display settings. See https://docs.wp-pizza.com/shortcodes/?section=by-category for shortcode attributes

@param: array(default attributes)
@return: array(filtered parameters)

example:

add_filter('wppizza_xsells_filter_shortcode_atts', 'my_shortcode_atts');
function my_shortcode_atts($sc_attributes){
	
	/*	
		the following defaults are being set in the plugin by default
					
		$sc_attributes = array();
		$sc_attributes['style'] = 'wppizza_xsells';//uses set style in xsales plugin settings
		$sc_attributes['showadditives'] = '0';//do not show additives under each item (as they will automatically be displayed combined underneath ifnecessary)
		$sc_attributes['noheader'] = '1';//
		$sc_attributes['notags'] = '1';//only use text from content, stripping all tags/elements 

	*/

	/* example: do not display main currency symbol even though it's is enabled for "normal" menu items in WPPizza->Layout*/
	$sc_attributes['currency_main'] = 0;
	
	/* example: do not display small currency symbol next to the price even though it's is enabled for "normal" menu items in WPPizza->Layout*/
	$sc_attributes['currency_price'] = 0;

	/* example: do NOT strip element tags from content */
	unset($sc_attributes['notags']);

return $sc_attributes;
}