• Resolved eldev

    (@eleanawebdev)


    Hello,

    I had the following issue in 3 websites, one of which is a fresh local installation with nothing but WooCommerce and the Strorefront theme active.

    The problem:

    • I set free shipping with a minimum amount of 4,00 dollars.
    • I go to store, add a 5,00 dollar product to the cart, go to checkout, everything works fine.
    • BUT, If I add another product or more of the same product, I get the “No shipping available” message.

    
    
     WordPress Environment
    
    WordPress address (URL): https://testdivi.local
    Site address (URL): https://testdivi.local
    WC Version: 8.6.1
    REST API Version: ? 8.6.1
    WC Blocks Version: ? 11.8.0-dev
    Action Scheduler Version: ? 3.7.1
    Log Directory Writable: ?
    WP Version: 6.4.3
    WP Multisite: –
    WP Memory Limit: 256 MB
    WP Debug Mode: –
    WP Cron: ?
    Language: en_US
    External object cache: – Server Environment
    
    Server Info: nginx/1.16.0
    PHP Version: 8.1.23
    PHP Post Max Size: 1,000 MB
    PHP Time Limit: 1200
    PHP Max Input Vars: 4000
    cURL Version: 7.77.0
    OpenSSL/1.1.1t
    
    SUHOSIN Installed: –
    MySQL Version: 8.0.16
    Max Upload Size: 300 MB
    Default Timezone is UTC: ?
    fsockopen/cURL: ?
    SoapClient: ?
    DOMDocument: ?
    GZip: ?
    Multibyte String: ?
    Remote Post: ?
    Remote Get: ? Database
    
    WC Database Version: 8.6.1
    WC Database Prefix: wp_
    Total Database Size: 5.28MB
    Database Data Size: 3.59MB
    Database Index Size: 1.69MB
    wp_woocommerce_sessions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_woocommerce_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_attribute_taxonomies: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_woocommerce_downloadable_product_permissions: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_woocommerce_order_items: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_woocommerce_order_itemmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_tax_rates: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_woocommerce_tax_rate_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_shipping_zones: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_woocommerce_shipping_zone_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_shipping_zone_methods: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_woocommerce_payment_tokens: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_woocommerce_payment_tokenmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_log: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_actionscheduler_actions: Data: 0.02MB + Index: 0.11MB + Engine InnoDB
    wp_actionscheduler_claims: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_actionscheduler_groups: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_actionscheduler_logs: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_commentmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_comments: Data: 0.02MB + Index: 0.08MB + Engine InnoDB
    wp_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_options: Data: 2.50MB + Index: 0.06MB + Engine InnoDB
    wp_postmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_posts: Data: 0.06MB + Index: 0.06MB + Engine InnoDB
    wp_term_relationships: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_term_taxonomy: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_termmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_terms: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_usermeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_users: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
    wp_wc_admin_note_actions: Data: 0.05MB + Index: 0.02MB + Engine InnoDB
    wp_wc_admin_notes: Data: 0.06MB + Index: 0.00MB + Engine InnoDB
    wp_wc_category_lookup: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_wc_customer_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_wc_download_log: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_wc_order_addresses: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_wc_order_coupon_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_wc_order_operational_data: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_wc_order_product_lookup: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_wc_order_stats: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
    wp_wc_order_tax_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_wc_orders: Data: 0.02MB + Index: 0.11MB + Engine InnoDB
    wp_wc_orders_meta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_wc_product_attributes_lookup: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wc_product_download_directories: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wc_product_meta_lookup: Data: 0.02MB + Index: 0.09MB + Engine InnoDB
    wp_wc_rate_limits: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wc_reserved_stock: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_wc_tax_rate_classes: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wc_webhooks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB Post Type Counts
    
    attachment: 1
    page: 7
    post: 2
    product: 1
    shop_order_placehold: 1
    wp_template: 4 Security
    
    Secure connection (HTTPS): ?
    Your store is not using HTTPS. Learn more about HTTPS and SSL Certificates.
    Hide errors from visitors: ? Active Plugins (1)
    
    WooCommerce: by Automattic – 8.6.1 Inactive Plugins (0) Settings
    
    API Enabled: –
    Force SSL: –
    Currency: EUR (€)
    Currency Position: right_space
    Thousand Separator: .
    Decimal Separator: ,
    Number of Decimals: 2
    Taxonomies: Product Types: external (external)
    grouped (grouped)
    simple (simple)
    variable (variable)
    
    Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)
    exclude-from-search (exclude-from-search)
    featured (featured)
    outofstock (outofstock)
    rated-1 (rated-1)
    rated-2 (rated-2)
    rated-3 (rated-3)
    rated-4 (rated-4)
    rated-5 (rated-5)
    
    Connected to Woo.com: –
    Enforce Approved Product Download Directories: ?
    HPOS feature screen enabled: ?
    HPOS feature enabled: ?
    Order datastore: Automattic\WooCommerce\Internal\DataStores\Orders\OrdersTableDataStore
    HPOS data sync enabled: – WC Pages
    
    Shop base: #7 - /shop/
    Cart: #8 - /cart/
    Checkout: #9 - /checkout/
    My account: #10 - /my-account/
    Terms and conditions: ? Page not set Theme
    
    Name: Storefront
    Version: 4.5.4
    Author URL: https://woo.com/
    Child Theme: ? – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme
    WooCommerce Support: ? Templates
    
    Overrides: – Admin
    
    Enabled Features: activity-panels
    analytics
    product-block-editor
    coupons
    core-profiler
    customer-effort-score-tracks
    import-products-task
    experimental-fashion-sample-products
    shipping-smart-defaults
    shipping-setting-tour
    homescreen
    marketing
    mobile-app-banner
    navigation
    onboarding
    onboarding-tasks
    product-variation-management
    product-virtual-downloadable
    product-external-affiliate
    product-grouped
    product-linked
    remote-inbox-notifications
    remote-free-extensions
    payment-gateway-suggestions
    shipping-label-banner
    subscriptions
    store-alerts
    transient-notices
    woo-mobile-welcome
    wc-pay-promotion
    wc-pay-welcome-page
    
    Disabled Features: customize-store
    minified-js
    new-product-management-experience
    product-pre-publish-modal
    settings
    async-product-editor-category-field
    
    Daily Cron: ? Next scheduled: 2024-02-28 08:58:05 +00:00
    Options: ?
    Notes: 65
    Onboarding: skipped Action Scheduler
    
    Canceled: 1
    Oldest: 2024-02-27 08:59:15 +0000
    Newest: 2024-02-27 08:59:15 +0000
    
    Complete: 10
    Oldest: 2024-02-27 08:59:15 +0000
    Newest: 2024-02-27 09:08:08 +0000
    
    Failed: 1
    Oldest: 2024-02-27 08:59:54 +0000
    Newest: 2024-02-27 08:59:54 +0000
    
    Pending: 1
    Oldest: 2024-02-28 08:59:15 +0000
    Newest: 2024-02-28 08:59:15 +0000 Status report information
    
    Generated at: 2024-02-27 09:08:14 +00:00
    
    • This topic was modified 9 months ago by eldev.
Viewing 9 replies - 1 through 9 (of 9 total)
  • Hey there! Thanks for contacting us. I’m happy to help you.

    Can you please share some screenshots from your settings so we can try to replicate the issue on our end? I recommend using https://snipboard.io. You can share the direct link to the image as a response to this topic.

    Please share a screenshot of:

    • WooCommerce > Settings > General > Currency options
    • General settings of the product
    • WooCommerce > Shipping
    • Then please click on edit on the shipping zone and share screenshots from there too
    • Then click on edit on each shipping method you have and share screenshots of that too

    The reason I’m asking is to make sure we have your exact set up when trying to replicate the issue.

    Can you also please go to WooCommerce > Settings > Shipping > Shipping settings and enable the debug mode.

    Then try to order again and see which shipping zone is showing.

    Looking forward to your reply.

    Have a wonderful day!

    Thread Starter eldev

    (@eleanawebdev)

    Hello again,

    Thank you for the quick response!

    So, I have the screenshots below, but while taking them I think I pinpointed what is causing the issue:

    • The store uses the currency settings for Greece, where the decimal separator is a comma (,).
    • In shipping > shipping zone > free shipping > minimum amount, if I add the amount 4 (without decimals), when I click save, it automaticaly corrects the number by adding the decimals with a comma (as it’s supposed to do). This comma is causing the problem.
    • In that minimum amount for free shipping field, If I switch the symbol from a comma to a period (4.00), then everyhting works fine. But it’s not the correct decimal separator for my setup.

    Screenshots:
    I didn’t add screenshots of the checkout page as it behaves the same as the cart page.

    product_settings: https://snipboard.io/SnugyY.jpg
    woo_shipping_zones: https://snipboard.io/WoqSRl.jpg
    woo_shipping_zones_zone: https://snipboard.io/7EA9sI.jpg
    woo_shipping_zones_zone_free-shipping: https://snipboard.io/mqGfJ3.jpg
    woo_currency-options: https://snipboard.io/oya5jW.jpg
    cart_one-product: https://snipboard.io/NslL0X.jpg
    cart_two-products: https://snipboard.io/tCw4Ye.jpg
    debug-on_cart_one-product: https://snipboard.io/SNM6U8.jpg
    debug-on_cart_two-products: https://snipboard.io/63v7te.jpg

    • This reply was modified 9 months ago by eldev.
    • This reply was modified 9 months ago by eldev.
    Plugin Support Shameem R. a11n

    (@shameemreza)

    Hi @eleanawebdev,

    Thank you for providing such detailed information.

    I tried to replicate the issue on my testing site using WC 8.6.1. I set the decimal separator to a comma and established a minimum order requirement for my Free shipping method. Everything seems to be working perfectly fine.

    However, can you run a conflict test to help you identify the cause of the issue? More info: https://woo.com/document/how-to-test-for-conflicts/

    Let us know how that goes for you.

    Thread Starter eldev

    (@eleanawebdev)

    Hello,

    I see you only have 1 product in the cart, in the example, if I am not mistaken. The problem starts when I add 2 x the same product or more, as I said in my original message. Could you try that too and see what happens?

    I can’t run a conflict test on this installation as the only active plugins/themes are WooCommerce and Storefront.

    • This reply was modified 9 months ago by eldev.
    • This reply was modified 9 months ago by eldev.
    • This reply was modified 9 months ago by eldev.

    Hey, @eleanawebdev!

    I set up my website exactly as you showed on the screenshots, set the prica as you mentioned (only adding the 4 and saving, I checked and it added the comma automatically). And even with multiple products on the cart, it is working correctly.

    Here’s a screenshot:

    I have tested this on both my live and local host site and was not able to replicate the issue

    Have you tried removing this shipping zone and adding a new one from scratch?

    What about removing Woo and downloading it again?

    Looking forward to your reply.

    Have a wonderful day!

    Thread Starter eldev

    (@eleanawebdev)

    Hi @carolm29,

    Thanks for trying to figure it out with me.

    I created a new installation. This time I tried PHP version 8.2 (before I was using 8.1) to see if there’s a difference. In 8.2. the problem persists.

    Then, I tried rolling back to previous WC versions, to see if anything changes. And yes, I found that the problem starts in WC 8.5.0. Before that there’s no issue.

    Also, when I updated from 8.4.0 to 8.5.0, the free shipping minimum amount was automatically switched from 4,00 to 4.00, even though I was still using Greek currency options. When I switched it back to 4,00, the problem started again.

    Since I know what the issue is, I can just switch the decimal separator from a comma to a period, so it’s not that much of a problem right now.

    But it still looks like a bug, so if there’s anything else I can do to give you more information, please let me know.

    Plugin Support omarfpg a11n

    (@omarfpg)

    Hi @eleanawebdev,

    Thank you for the detailed tests and pinpointing where the issue started for you (in Woo 8.5.0).

    With this in mind, could you set up a staging site to further test this without touching your production site? You can keep your production site on 8.4.0 while having your Staging on the latest version of the plugin.

    To set up a staging site, you can ask your host if they offer this service, or you can use?WP Staging?to spin up a new test site quickly.

    Please let us know!

    Cheers!
    -Omar

    Plugin Support omarfpg a11n

    (@omarfpg)

    Hi there ?? ,

    We haven’t heard from you in a while, so I’m going to mark this as resolved. Feel free to start a new thread if you have any more questions.

    All the best,
    Omar

    @omarfpg not sure if I can re-open this ticket, but I can confirm the same issues still happens. For us it’s on a Dutch site, but when you enter the minimum amount with a comma (screenshot: https://radishconcepts.d.pr/i/ja47wk), the comparison is going wrong.

    To check this, see the file class-wc-shiping-free-shipping.php around line 202.

    When I dump the variables which are used to check whether the minimal amount is being check, this is the result:

    Because the cart-totals is a float and is checked against a string, it will alway return false.

    When we change the “40,00” in the option to “40” (https://radishconcepts.d.pr/i/zMSIsX), it does work

Viewing 9 replies - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.