wppizza / markup / loop / posts.prices.php

Menu items – displaying sizes, prices, currency symbols, cart icon

Note: many display options are also available by simply using the relevant shortcode attributes or setting options in WPPizza -> Layout instead of using filters

CSS Targeting

  • element ID: #wppizza-article-sizes-[post_id]
  • element class: .wppizza-article-sizes
  • element class: .wppizza-article-prices-[size_id]
  • Use your browsers element inspector to identify all classes and id’s

if you simply want to edit some styles/layout (text-sizes, color, margins, paddings etc etc ) it is strongly recommended to use css instead of filters/actions. Please refer to Modify Styles/Layout

Structure

/* wrapper container */
<div>
	/* ul container, main currency symbols, prices container */
	<ul>
		
		/* if main currency symbol left */	
		<li>$</li>	
	
		<li>
			/* prices/sizes container ul*/ 
			<ul>
				
				/* each price/size */
				<li>
					<span>4.95</span> /* price */
					<div>small</div> /* size, cart displayed using css */
				</li>
			
			
			</ul>
		</li>
		
		/* if main currency symbol right */	
		<li>$</li>

	</ul>

</div>

Filters available

apply filters by adding them to your child-theme’s functions.php (notes regarding functions.php).

  • filter name: wppizza_filter_post_thumbnail_class
    purpose: modify classes used

    @param: $classes array (array of classes used in wrapper div)
    @param: $post_data array (array of post_data)

    @return: array

    examples:

    
    add_filter('wppizza_filter_post_prices_class', 'prefix_filter_post_prices_class', 10 ,2);
    function prefix_filter_post_prices_class($classes, $post_data){
    	/* adding your own class name */
    	$classes[] ='my-class';
    return $classes;
    }
    		
  • filter name: wppizza_filter_post_prices
    purpose: modify each price array before outputting it for markup

    @param: $prices array (array of parameters )
    @param: $post_data array (array of post_data)
    @param: $style string (style being used default|grid|responsive)
    @return: array

    examples:

    
    add_filter('wppizza_filter_post_prices', 'prefix_filter_post_prices', 10 , 3);
    function prefix_filter_post_prices($prices, $post_data, $style){
    	/* 
    		notes: 
    		use print_r($prices) to view all array keys with their respective values
    		use print_r($post_data) to view all array keys with their respective values
    		use print_r($style) to view style used ( default|responsive|grid )
    
    		use global $wppizza_options; to access all options/settings/localization strings etc set in the plugin 
    	*/
    	/* adding "from" before each price */
    	foreach($prices as $k=>$p){
    	$prices[$k]['price'] = 'from '.$prices[$k]['price'];
    	}
    return $prices;
    }
    		
  • filter name: wppizza_filter_post_prices_markup
    purpose: modify output of element

    @param: $markup array (array of markup elements)
    @param: $style string (style used – default|responsive|grid)
    @param: array (array of post parameters)
    @param: array (array of prices parameters)
    @return: array

    examples:

    
    
    add_filter('wppizza_filter_post_prices_markup', 'prefix_filter_post_prices_markup', 10 , 4);
    function prefix_filter_post_prices_markup($markup, $style, $post, $prices){
    
    	/* 
    		notes: 
    		use print_r($markup) to view markup array keys with their respective markup
    		use print_r($style) to view style used ( default|responsive|grid )
    		use print_r($post) to view post parameters
    		use print_r($prices) to view prices parameters
    		use global $wppizza_options; to access all options/settings/localization strings etc set in the plugin 
    	*/
    
    
    	/* example: adding a paragraph AFTER all elements */
    	$markup['my_new_markup'] = '<p>more text after</p>'; 
    
    	/* example: adding a paragraph BEFORE all elements */
    	$new_markup = array();
    	$new_markup['my_new_markup'] = '<p>more text before</p>'; 
    	$new_markup += $markup; # add original markup after
    	return $new_markup ; # return new markup
    
    	/* example: adding a another paragraph BEFORE element using helper function*/
    	$splice_before['my_new_markup']  = '<p>more text before</p>'; 
    	$markup = wppizza_array_splice($markup, $splice_before, 'post_sizes_', true );
    
    	/* example: adding a another paragraph AFTER element using helper function*/
    	$splice_after['my_new_markup']  = '<p>more text after</p>'; 
    	$markup = wppizza_array_splice($markup, $splice_after, '_post_sizes');
    
    
    	/* example: using actions of another plugin that by default outputs html to add it after  all elements */
    	ob_start(); # start buffering
    	do_action('other_plugin_output'); # run action of other plugin that outputs things
    	$buffer= ob_get_contents(); # capture buffer in variable
    	ob_end_clean(); # clean buffer			
    	$markup['my_new_markup'] = $buffer; # add buffered output 
    
    
    
    
    return $markup;
    }
    		

Actions available

  • none

Editing files directly

ensure you have also read the Modify/Edit Templates

basepath: [plugin-path]/wppizza/templates/markup

filepath: [plugin-path]/wppizza/templates/markup/loop/posts.prices.php

Modules used in file

  • none

Module used by other template file(s)

  • none