Forum Replies Created

Viewing 15 replies - 31 through 45 (of 90 total)
  • Thread Starter Rose

    (@thorned-rose)

    @t-p Not sure if that’s an automated response or not but as I said in my OP, I tried all those things. The website is accessible via anything BUT WordPress. Other WordPress websites that are on the same hosting are loading fine. This is very unlikely to be an issue with the hosting.

    @jnashhawkins Thanks for your help. I’m about to try restoring an even older backup because at this stage I’ll try just about anything. This is a large complicated website with important booking system and a LOT of customisation so starting again is my worst freaking nightmare! ??

    Thread Starter Rose

    (@thorned-rose)

    I’m marking this as resolved but only from the perspective that I was able to work around a bug with Woocommerce Local Pickup Plus. I am the website maintainer, not the owner so I don’t have access to Woocommerce’s premium plugins support and thus no way of reporting this issue with Local Pickup Plus. At any rate, it’s essentially solved for me now. Hopefully the solution above will be useful for anyone else who wants to disable certain shipping methods for products with a particluar shipping class.

    Thread Starter Rose

    (@thorned-rose)

    The site was using Local Pickup Plus. Turns out there was a bug with it. I disabled LPP, added WC’s default local pickup as a shipping method to local shipping zone, then added the following code to disable flat rate shipping when local pickup is available.

    function hide_shipping_method_based_on_shipping_class( $rates, $package )
    {
        if ( is_admin() && ! defined( 'DOING_AJAX' ) )
            return;
    
        // HERE define your shipping class to find
        $class = 602; //insert shipping class ID here
    
        // HERE define the shipping method to hide
        $method_key_id = 'flat_rate:1';
    
        // Checking in cart items
        foreach( WC()->cart->get_cart() as $cart_item ){
            // If we find the shipping class
            if( $cart_item['data']->get_shipping_class_id() == $class ){
                unset($rates[$method_key_id]); // Remove the targeted method
                break; // Stop the loop
            }
        }
        return $rates;
    }
    add_filter( 'woocommerce_package_rates', 'hide_shipping_method_based_on_shipping_class', 10, 2 );
    Rose

    (@thorned-rose)

    Would like this functionality also ??

    Thread Starter Rose

    (@thorned-rose)

    Ok, with Product C and D, it comes up with “These items are for pick up.
    Click if you want these items to be shipped.” If you click to select shipping, then it comes up with the option of pickup or flat rate shipping. If I add code to remove the flat rate shipping when pickup is selected, Shipping 2 still appears but beside it is “There are no shipping methods available. Please ensure that your address has been entered correctly, or contact us if you need any help.”

    Further info on the code I have tried here: https://stackoverflow.com/questions/52218255/woocommerce-when-local-pickup-plus-is-selected-remove-all-other-shipping-me

    Thread Starter Rose

    (@thorned-rose)

    Further to this, if I use Product C and Product D, I do not get this issue. Product B is a duplicate of Product D so I am wondering if in duplicating the product, a bug has occurred. I am continuing to test and will next try completely deleting Product B and creating it from scratch.

    Thread Starter Rose

    (@thorned-rose)

    I am wondering if this is a bug because even if I set Product B to “Must be picked up” Shipping 2 still appears but now has “There are no shipping methods available. Please ensure that your address has been entered correctly, or contact us if you need any help.” beside it.

    Thread Starter Rose

    (@thorned-rose)

    So I have two addition plugins – Woocommerce Bookings and Woocommerce Force Sells. My brain is pretty well on holiday at the moment so I struggle to explain how bookings work other than basically being a heavily customised product. When a ‘product’ is booked, stock level is reduced for a certain time period. But stock control is something in between a physical product and a virtual one. (Not sure I’m making a heap of sense here lol).
    Force sells is like other linked products only when one product is added to the cart, the force sell product is added too. A Synced Force Sell product means that the number of items in the cart are kept in sync.

    For clarity, our organisation hires out birth pools. We have very limited number of these (3 of one kind and only 1 of another). When we book them out, people must pay a bond and pay for a liner. The bond is set as a virtual product and the liners are simple products with a stock level. The bond and liner are set as synced force sells so that when a pool (‘booking’) is added to the cart, only one bond and one liner is added and can’t be changed in quantity. If a customer removes the pool, the bond and liner are removed as well (as the pool product count becomes zero and the synced force sells are matched quantity).

    The problem we have come across in testing is that if someone adds the pool to their cart and then abandons it, the pool sits ‘booked’ for the time period they entered which means someone else cannot book it. Obviously this problem is compounded when we only have a few pools, particularly with the single one.
    I’ve improved things slightly by adding a cart icon so that people know they have stuff in their cart if they navigate elsewhere in the site, but we cannot get around the cart abandonment currently. There are a couple of paid plugins that allow you to reduce the cart session to whatever you want but as a non-profit, these plugins are beyond our means to afford.

    I have set the stock hold setting to 15 minutes but I don’t know that it affects cart abondonment at all (for WC Bookings) or consistently anyway. The standard 48 hours expiry is way too long and tutorials I’ve looked at only reduce it to 12 hours.

    The system we are wanting is the same as you get with booking movie theatre tickets online – you start your booking and have 15 minutes to complete it. If you don’t the tickets are released for others to purchase.

    • This reply was modified 6 years, 8 months ago by Rose. Reason: Spelling mistake
    Thread Starter Rose

    (@thorned-rose)

    Thread Starter Rose

    (@thorned-rose)

    Thanks Caleb. Much appreciated. I’ve subscribed to the Github issue thread in the meantime.

    Thread Starter Rose

    (@thorned-rose)

    I should clarify, the link is working now. The spinner is still broken/not animating.

    Thread Starter Rose

    (@thorned-rose)

    Oops, accidentally enabled a permalinks plugin when I re-enabled all the plugins. Disabled and working now!

    Thread Starter Rose

    (@thorned-rose)

    @icaleb Thanks Caleb, to clarify it’s an issue with Woocommerce (and using Twenty Seventeen.)
    I have disabled all plugins except Woocommerce, and the issue is there.
    Here’s a screenshot of a cart update with just Woocommerce enabled: https://i.imgur.com/j4mgvfB.png

    I mention Bookings because this is where I noticed the issue first and causes the most confusion for people using the store. It’s less an issue in the cart because the whole cart fades out to make it obvious it’s loading.

    Rose

    (@thorned-rose)

    Could someone explain how to add a relevant font in the css? I get how to create new fields etc, but with a newborn baby, my brain is mush and I can’t work out how to add a new fontello code or using open sans as above for Tsu to the css…. :/

    Thread Starter Rose

    (@thorned-rose)

    Sorry i haven’t been able to reply to this thread sooner. You were right on the money! For some reason an extension (I have no idea what as none of them should change anything on a webpage) was interfering. If I viewed the page with icognito (no extensions running in that mode) it displays fine.

    Thanks so much for your help and time! It’s truly appreciated!! ??

Viewing 15 replies - 31 through 45 (of 90 total)