This article only applies to the old designer. Not sure which designer you have? Check here.
When your products have multiple payment terms, the subscribe page will by default display a price range rather than a single price. For example, in the screenshot below, subscribers can pay monthly for $30 or do a three month pre-pay for $85:
If you prefer to just display the monthly price on the subscribe page, this can be achieved with changes to just a few lines of code. The exact changes vary slightly depending on your theme:
Tasty, Fashion, Joybox, and Bold Themes
1. Open your subscribe.html in the Code Editor and find the lines reading {% if max == min %}. There are usually two occurrences of this line--one for where customers choose their product and one for where they choose their variant.
2. Change the word "max" to "min" so it reads {% if min == min %}
.
Betterman, Delight, Parcel & Cargo Themes
1. Open your products.html in the Code Editor and find the line {{ product | get_price_or_price_range }}
2. Change this to <p>{{ product.calc_min_price() | currency }}</p>
3. Open your variants.html in the Code Editor and find the line {{ product | get_price_or_price_range(value.variant_type, values=chosen_values + [value]) }}
4. Change this to <p>{{ product.calc_min_price() | currency }}</p>
Booksea Theme
1. Open your product_grid_item.html in the Code Editor and find the line {{ product | get_price_or_price_range }}
2. Change this to <p>{{ product.calc_min_price() | currency }}</p>
3. Open your variants.html in the Code Editor and find the line {{ product | get_price_or_price_range(value.variant_type, values=chosen_values + [value]) }}
4. Change this to <p>{{ product.calc_min_price() | currency }}</p>
Now your item will display with just the price of the shortest term:
Ecom (non-subscription) products
The one-time shop has limited customizability right now, but if you insert this script into the page_javascript block in your listing.html, it should update the price listing: <script> $('.price').each(function(i, e){$(e).replaceWith($(e).html().replace(/(\$.*) - .*/, "<span class='price'>$1</span>"))}); </script>