• Resolved j2fb

    (@j2fb)


    Hi!

    I’ve created a script for my WC shop where I bulk schedule sales on products (for example 50% off for a whole week). The problem I have is after the sale ends, those products are still shown in my “/shop?sale_products=on” page even if they aren’t on sale anymore. After checking in the DB it seems like in the “WC_PRODUCT_META_LOOKUP” table, the “onsale” field is not going back to 0 as it should.

    Does anyone know why this might be happening?

    Thanks!

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Support Senff

    (@senff)

    Hi @j2fb

    It depends on the code/script you use for updating the sales — if that does put the items on sale, but not back to the normal price after a while, it’s likely there is something missing in your script.

    If you can post your script here, maybe someone can see what might be wrong.

    Thread Starter j2fb

    (@j2fb)

    Thanks for your reply, that would be helpful for sure!

    Here is what the script looks like:

    
    update_post_meta($product->get_id(), '_price', $discounted_price);
    update_post_meta($product->get_id(), '_sale_price', $discounted_price);
    update_post_meta($product->get_id(), '_sale_price_dates_from', date("Y-m-d H:i:s", strtotime($start)));
    update_post_meta($product->get_id(), '_sale_price_dates_to', date("Y-m-d H:i:s", strtotime($end)));
    wc_delete_product_transients($product->get_id());
    

    Maybe a key piece of code is missing here? ??

    (Please note that we didn’t use wc_product->save() because it was a lot slower than updating the prices directly and we process 100s of products at once, so the save function took too long for us).

    Plugin Support mouli a11n

    (@mouli)

    Hi there!
    You possibly need to add a line that updates the onsale field as I see nothing in the above script that does that.

    I hope that helps you to figure it out.
    Feel free to get back to us if you have further questions.

    Plugin Support Thu P. a11n

    (@thup90)

    Hi there,

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

    Thread Starter j2fb

    (@j2fb)

    Hi, thanks for your reply!

    I’ve identified that the script works in our local dev environment (the sales end correctly at the right moment and the lookup table data goes back to normal), but not on our live website (the product lookup table “onsale” and prices doesn’t go back to normal). Any ideas of what could be causing this? (we already tried disabling our cache, cloudflare, etc, so it doesn’t seem to be related to that).

    Plugin Support mouli a11n

    (@mouli)

    Hi there,
    As you are comfortable with coding yourself and have questions, I would recommend that you join the WooCommerce Slack Community (https://woocommerceslack.herokuapp.com), or the Advanced WooCommerce Facebook group (https://www.facebook.com/groups/advanced.woocommerce).?

    In the meantime, as the issue seems to be only on your live site, I suggest that you try a conflict test as follow.

    Issues like this may be caused by either a conflict with your theme or with another plugin. You can read more about plugin and theme conflicts here:
    https://docs.woocommerce.com/document/woocommerce-self-service-guide/

    The best way to determine if the issue is being caused by a theme and/or plugin is to do the following:

    1. Temporarily switch your theme back to the Storefront (https://www.woocommerce.com/storefront/) or TwentyNineteen (https://www.ads-software.com/themes/twentynineteen/) Theme.
    2. Disable all plugins except for WooCommerce.
    3. Test to see if the issue has been resolved.

    If that resolves the issue, then one-by-one you can switch back your theme and re-enable your plugins, testing in between, until you find the one causing the conflict.

    I hope that helps you to figure it out.
    Feel free to get back to us if you have further questions.

    Plugin Support Missy a11n

    (@m155y5)

    Automattic Happiness Engineer

    We haven’t heard back from you in a while, so I’m going to go ahead and mark this thread as resolved. If you have any other questions please feel free to start a new thread.

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘product stays “onsale” in lookup table after scheduled sale ends’ is closed to new replies.