I’m not sure if anyone will ever have a need for this, but we had a random request from a client regarding price discounts in Shopp. Shopp has a built in discount function that you can set on a product by product basis, but we needed to show a 20% discount automatically based on the list price for each product.
How to:
So the first thing we did was open the product.php template (wp-content > plugins > shopp > core > model > product.php) and create a new case for the product table called “pricediscounted”. This will check the list price of a product and deduct 20%.
1 2 3 4 5 | case "pricediscounted": if (empty($this->prices)) $this->load_data(array('prices')); $list_price = $this-> min['price'] + ($this-> min['price']*$taxrate); return money($list_price - ($list_price*0.20)); break; |
Next we wanted to show the exact amount the user would be saving. So we created another case that would calculate what 20% would amount to.
1 2 3 4 5 | case "pricepercent": if (empty($this->prices)) $this->load_data(array('prices')); $list_price = $this->min['price'] + ($this->min['price']*$taxrate); return money($list_price - ($list_price*0.80)); break; |
Finally, here is an example of how you can display this information on your site. Simply place the following anywhere you are using the product loop.
1 2 3 | List Price: <?php shopp('product','price'); ?> Online Price: <span><?php shopp('product','pricediscounted'); ?> A savings of: <?php shopp('product','pricepercent'); ?> |






