• Resolved jwvantilburg

    (@jwvantilburg)


    Hi,

    Working a while now with WoocCommerce but on this specific topic a bit new. We are using it as a system for information about ferries, where seasonality and weekend are of influence on the pricing. So when we display a price we want to display the minimum price but that it also says: From: $amount now it just shows the minimum price. price range would already be an improvement as well, but not sure how to add more prices to one product either.

    Now it just show one price; https://ferrygogo.com/nl/

    but can’t find it or am overlooking it. Hope you can help out

    The page I need help with: [log in to see the link]

Viewing 9 replies - 1 through 9 (of 9 total)
  • Plugin Support Prin a11n

    (@prin_settasatian)

    Hello there,

    I understand you’d like to display a price range for a product/service.

    It seems your ferry service does not need to use Variable product. I searched a bit and found this: https://stackoverflow.com/questions/50502449/set-price-range-on-woocommerce-products-without-setting-up-variables.

    Perhaps this is what you want to achieve? If so, you can use a plugin like Code Snippets (https://www.ads-software.com/plugins/code-snippets/) to add the code.

    Let me know if you need further help.

    Thread Starter jwvantilburg

    (@jwvantilburg)

    Hi Prin,

    Thanks for your help, the code doesn’t seem to do the trick. Maybe because we have external / affiliate products.

    Maybe we would need to look at a booking plugin I guess.

    If you have any other ideas please let me know!

    Thanks for the help anyways!

    Best,

    Jan Willem

    Plugin Support Prin a11n

    (@prin_settasatian)

    Hello Jan,

    I changed the code a bit. It should work for External/Affiliate products now.

    // Add a custom field for price range to product in backend
    add_action( 'woocommerce_product_options_pricing', 'add_field_product_options_pricing' );
    function add_field_product_options_pricing() {
        global $post;
    
        echo '<div class="options_group show_if_external">';
    
        woocommerce_wp_text_input( array(
            'id'            => '_max_price_for_range',
            'label'         => __('Max price for range', 'woocommerce').' ('.get_woocommerce_currency_symbol().')',
            'placeholder'   => __('Set the max price for range', 'woocommerce'),
            'description'   => __('Set the max price for range, to activate it…', 'woocommerce'),
            'desc_tip'      => 'true',
        ));
    
        echo '</div>';
    }
    
    // Save product custom field to database when submitted in Backend
    add_action( 'woocommerce_process_product_meta', 'save_product_options_custom_fields', 30, 1 );
    function save_product_options_custom_fields( $post_id ){
        // Saving custom field value
        if( isset( $_POST['_max_price_for_range'] ) ){
            update_post_meta( $post_id, '_max_price_for_range', sanitize_text_field( $_POST['_max_price_for_range'] ) );
        }
    }
    
    // Frontend: display a price range when the max price is set for the product
    add_filter( 'woocommerce_get_price_html', 'custom_range_price_format', 10, 2 );
    function custom_range_price_format( $price, $product ) {
    
        // Only for external/affiliate product type
        if( $product->is_type('external') ){
            // Get the max price for range
            $max_price = get_post_meta( $product->get_id(), '_max_price_for_range', true );
    
            if( empty($max_price) )
                return $price; // exit
    
            $active_price = wc_get_price_to_display( $product, array( 'price' => $product->get_price() ) );
    
            $price = sprintf( '%s &ndash; %s', wc_price($active_price), wc_price($max_price) );
        }
        return $price;
    }
    Thread Starter jwvantilburg

    (@jwvantilburg)

    That worked! Thanks a lot! You can see it here now: https://ferrygogo.com/nl/overtocht/vlissingen-breskens/

    Last remaining question: is it possible to display a small text that says ‘from’ (or in Dutch) ‘vanaf’ in front of the price? And if yes, how can I fix this.

    I really appreciate the help, thanks a lot!

    Plugin Support Prin a11n

    (@prin_settasatian)

    Hello again Jan,

    I think this plugin will let you do that: WooCommerce RRP (https://www.ads-software.com/plugins/woocommerce-rrp/).

    There are also ways to do it with a snippet as well as CSS. You can read more here: https://bradley-davis.com/woocommerce-add-text-regular-sale-price/.

    Hi @jwvantilburg

    It looks like the site is using the Rehub theme, you can reach out to them for further assistance to add the text before the price.

    I wanted to add one more piece of information, you can use the plugin:
    Price Text for WooCommerce as well, you can add the text in bulk, by price range, by product categories, etc.

    I hope this points you in the right direction.

    We haven’t heard back from you in a while, so I’m going to mark this as resolved – we’ll be here if and/or when you are ready to continue.

    Thanks.

    Thread Starter jwvantilburg

    (@jwvantilburg)

    Hi Igor,

    Sorry for not responding, the plugin did the trick so thanks for the advice.

    Best,

    Jan Willem

    Hi @jwvantilburg

    Good to know that the plugin did the job. ??

    Feel free to create another topic if you have any other questions.

    Cheers

Viewing 9 replies - 1 through 9 (of 9 total)
  • The topic ‘How to set prices as a minimum price / from price’ is closed to new replies.