2
votes

I have my store set up with product variations and at the moment on the product thumbnail pages i.e. category and filtering pages it shows a (from £xx to £xx) and when down to the single product page and the variation shave been selected to variation price shows.

I have certain attributes set as defaults and this is the price I would prefer to show on the category pages... the standard size and cost. BUT i have no idea if its possible or what code to change it to.

enter image description hereenter image description here

Is this possible? Any ideas?

1
screenshot image links: imgur.com/24RbB9N imgur.com/PKbfaFaCrease
So you only want to show £450 instead of £350.00-£550.00?Howli
Yes thats exactly what I want to do @Howlin I am guessing I will need some code to set woocommerce to show the default child product price instead of the range of prices. Can this be done?Crease

1 Answers

5
votes

to juist display one standard price > go to the THEME folder and open functions.php and add this to the end of the file:

// Use WC 2.0 variable price format, now include sale price strikeout
add_filter( 'woocommerce_variable_sale_price_html', 'wc_wc20_variation_price_format', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'wc_wc20_variation_price_format', 10, 2 );
function wc_wc20_variation_price_format( $price, $product ) {
    // Main Price
    $prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) );
    $price = $prices[0] !== $prices[1] ? sprintf( __( 'HERE YOUR LANGUAGE: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );
    // Sale Price
    $prices = array( $product->get_variation_regular_price( 'min', true ), $product->get_variation_regular_price( 'max', true ) );
    sort( $prices );
    $saleprice = $prices[0] !== $prices[1] ? sprintf( __( 'HERE YOUR LANGUAGE: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );

    if ( $price !== $saleprice ) {
        $price = '<del>' . $saleprice . '</del> <ins>' . $price . '</ins>';
    }
    return $price;
} 

(Translate the HERE YOUR LANGUAGE in the code to your language to let it say something like: From price )