Forum Replies Created

Viewing 15 replies - 1 through 15 (of 19 total)
  • Thread Starter rockso

    (@rockso)

    Thread Starter rockso

    (@rockso)

    I’ll drop you a support request, although I did fill one out several weeks ago and never heard anything back.

    1. Server setting and PHP Max Ex time are maxed out, and these are not on shared servers. 4core/4Gb ram per site, with 10 min script times.
    2. The cancel button does nothing, even 2 hours later, the whole process is stalled/hung.
    3. There are no error messages, the logs are empty

    Please do reply to this support request, I will complete it with screenshots and server setting today GMT, Thanks,

    Thread Starter rockso

    (@rockso)

    Hi @shanedelierrr , Sadly this has not helped.

    Is there a manual way to purge the table?

    Thread Starter rockso

    (@rockso)

    Wow.. that works!

    with your plugin activated and the block basket/checkout work too…

    I have a lot to learn, thank you

    Thread Starter rockso

    (@rockso)

    Critical Uncaught Error: Call to a member function is_taxable() on null in /home/hyp/public_html/wp-content/themes/blocksy-child/functions.php:23 CONTEXT: {"error":{"type":1,"file":"\/home\/hyp\/public_html\/wp-content\/themes\/blocksy-child\/functions.php","line":23},"backtrace":["","#0 \/home\/hyp\/public_html\/wp-includes\/class-wp-hook.php(326): my_custom_price_text()","#1 \/home\/hyp\/public_html\/wp-includes\/plugin.php(205): WP_Hook->apply_filters()","#2 \/home\/hyp\/public_html\/wp-content\/plugins\/woocommerce\/includes\/abstracts\/abstract-wc-product.php(1884): apply_filters()","#3 \/home\/hyp\/public_html\/wp-content\/plugins\/woocommerce\/src\/StoreApi\/Schemas\/V1\/ProductSchema.php(467): WC_Product->get_price_html()","#4 [internal function]: Automattic\\WooCommerce\\StoreApi\\Schemas\\V1\\ProductSchema->get_item_response()","#5 \/home\/hyp\/public_html\/wp-content\/plugins\/woocommerce\/src\/StoreApi\/Schemas\/V1\/AbstractSchema.php(285): array_map()","#6 \/home\/hyp\/public_html\/wp-content\/plugins\/woocommerce\/src\/StoreApi\/Schemas\/V1\/CartSchema.php(365): Automattic\\WooCommerce\\StoreApi\\Schemas\\V1\\AbstractSchema->get_item_responses_from_schema()","#7 \/home\/hyp\/public_html\/wp-content\/plugins\/woocommerce\/src\/StoreApi\/Routes\/V1\/Cart.php(50): Automattic\\WooCommerce\\StoreApi\\Schemas\\V1\\CartSchema->get_item_response()","#8 \/home\/hyp\/public_html\/wp-content\/plugins\/woocommerce\/src\/StoreApi\/Routes\/V1\/AbstractRoute.php(128): Automattic\\WooCommerce\\StoreApi\\Routes\\V1\\Cart->get_route_response()","#9 \/home\/hyp\/public_html\/wp-content\/plugins\/woocommerce\/src\/StoreApi\/Routes\/V1\/AbstractCartRoute.php(119): Automattic\\WooCommerce\\StoreApi\\Routes\\V1\\AbstractRoute->get_response_by_request_method()","#10 \/home\/hyp\/public_html\/wp-includes\/rest-api\/class-wp-rest-server.php(1230): Automattic\\WooCommerce\\StoreApi\\Routes\\V1\\AbstractCartRoute->get_response()","#11 \/home\/hyp\/public_html\/wp-includes\/rest-api\/class-wp-rest-server.php(1063): WP_REST_Server->respond_to_request()","#12 \/home\/hyp\/public_html\/wp-includes\/rest-api.php(555): WP_REST_Server->dispatch()","#13 \/home\/hyp\/public_html\/wp-includes\/rest-api.php(2922): rest_do_request()","#14 \/home\/hyp\/public_html\/wp-content\/plugins\/woocommerce\/src\/Blocks\/Domain\/Services\/Hydration.php(45): rest_preload_api_request()","#15 \/home\/hyp\/public_html\/wp-content\/plugins\/woocommerce\/src\/Blocks\/Assets\/AssetDataRegistry.php(327): Automattic\\WooCommerce\\Blocks\\Domain\\Services\\Hydration->get_rest_api_response_data()","#16 \/home\/hyp\/public_html\/wp-content\/plugins\/woocommerce\/src\/Blocks\/BlockTypes\/Checkout.php(365): Automattic\\WooCommerce\\Blocks\\Assets\\AssetDataRegistry->hydrate_api_request()","#17 \/home\/hyp\/public_html\/wp-content\/plugins\/woocommerce\/src\/Blocks\/BlockTypes\/AbstractBlock.php(415): Automattic\\WooCommerce\\Blocks\\BlockTypes\\Checkout->enqueue_data()","#18 \/home\/hyp\/public_html\/wp-content\/plugins\/woocommerce\/src\/Blocks\/BlockTypes\/Checkout.php(126): Automattic\\WooCommerce\\Blocks\\BlockTypes\\AbstractBlock->enqueue_assets()","#19 \/home\/hyp\/public_html\/wp-content\/plugins\/woocommerce\/src\/Blocks\/BlockTypes\/AbstractBlock.php(95): Automattic\\WooCommerce\\Blocks\\BlockTypes\\Checkout->enqueue_assets()","#20 \/home\/hyp\/public_html\/wp-includes\/class-wp-block.php(463): Automattic\\WooCommerce\\Blocks\\BlockTypes\\AbstractBlock->render_callback()","#21 \/home\/hyp\/public_html\/wp-includes\/blocks.php(1705): WP_Block->render()","#22 \/home\/hyp\/public_html\/wp-includes\/blocks.php(1743): render_block()","#23 \/home\/hyp\/public_html\/wp-includes\/class-wp-hook.php(324): do_blocks()","#24 \/home\/hyp\/public_html\/wp-includes\/plugin.php(205): WP_Hook->apply_filters()","#25 \/home\/hyp\/public_html\/wp-includes\/post-template.php(256): apply_filters()","#26 \/home\/hyp\/public_html\/wp-content\/themes\/blocksy\/inc\/components\/single\/content-helpers.php(225): the_content()","#27 \/home\/hyp\/public_html\/wp-content\/themes\/blocksy\/template-parts\/single.php(74): blocksy_single_content()","#28 \/home\/hyp\/public_html\/wp-includes\/template.php(812): require('\/home\/hyp')","#29 \/home\/hyp\/public_html\/wp-includes\/template.php(745): load_template()","#30 \/home\/hyp\/public_html\/wp-includes\/general-template.php(206): locate_template()","#31 \/home\/hyp\/public_html\/wp-content\/themes\/blocksy\/single.php(17): get_template_part()","#32 \/home\/hyp\/public_html\/wp-includes\/template.php(812): require('\/home\/hyp')","#33 \/home\/hyp\/public_html\/wp-includes\/template.php(745): load_template()","#34 \/home\/hyp\/public_html\/wp-includes\/general-template.php(206): locate_template()","#35 \/home\/hyp\/public_html\/wp-content\/themes\/blocksy\/page.php(15): get_template_part()","#36 \/home\/hyp\/public_html\/wp-includes\/template-loader.php(106): include('\/home\/hyp')","#37 \/home\/hyp\/public_html\/wp-blog-header.php(19): require_once('\/home\/hyp')","#38 \/home\/hyp\/public_html\/index.php(17): require('\/home\/hyp')","#39 {main}","thrown"]}

    I have no idea what any of it means… I have tried switching to several other classic themes, and it’s still the same… breaks the blocks based checkout & basket… works on classic basket/checkout no problem

    Thread Starter rockso

    (@rockso)

    NOT SOLVED – of sorts,
    Works with the classic basket and checkout, but causes a ‘critical error’ on the new block based basket and checkout.

    Thread Starter rockso

    (@rockso)

    SOLVED

    add_filter( 'woocommerce_get_price_html', 'my_custom_price_text', 100 );
    
    function my_custom_price_text( $price ) {
      global $product;
    
      // Check if the product is taxable using the 'taxable' property
      if ( ! $product->is_taxable() ) {
        $nonTaxableSuffix = ' (VAT Exempt)';
        return $price . $nonTaxableSuffix;
      } else {
        // Return Woo's builtin suffix if aplicable 
        return $price;
      }
    }
    Thread Starter rockso

    (@rockso)

    Hi, thanks for the help, I tried your code and the following, but again, both only works when your plugin is deactivated. It’s got me puzzled…

    add_filter( 'woocommerce_get_price_suffix', 'change_suffix_for_nontaxable', 5, 2 );
    
    function change_suffix_for_nontaxable( $suffix, $product ) {
      if ( ! $product->is_taxable() ) {
        $new_suffix = ' (Tax Exempt)'; 
        return $new_suffix;
      }
      return $suffix;
    }
    
    Thread Starter rockso

    (@rockso)

    It’s not made a difference, still slower load times on non-cached product category pages than excluding them from the caching…

    https://ibb.co/NrJRD9b
    https://ibb.co/YXJnLTJ

    Thread Starter rockso

    (@rockso)

    Thanks for this, I had added /product-category/* to the excludes list, but i will remove and try your suggestions and report back

    ??

    Thread Starter rockso

    (@rockso)

    Hi, I’ve just received and email from my hosting company, who’ve been helping me also. this is their email to me….

    Hi

    Thank you for providing the steps.

    I have done some extensive testing this morning, and found the following which needs to be addressed with Litespeed support:

    Purge product on changes to the quantity or stock status. Purge categories only when stock status changes.
    X-LiteSpeed-Purge: public,9df_
    Category, Subcategory and Product pages all purged after purchase even when product remains in stock
    NOT EXPECTED
    Notes: Expected Behaviour: With this selected the expectation would be that only the product page would be purged rather than the product page, category and subcategory pages after a single purchase which does not result in the item becoming out of stock.
    Unfortunately due to the fact you are displaying the number of units in stock on your product pages this realistically is the preferred setting because otherwise the number of units in stock on each product page wouldn’t update after purchases. You do have the option of hiding the number of products in stock however.

    Purge product and categories only when the stock status changes.
    X-LiteSpeed-Purge: public,9df_FD
    Category, Subcategory and Product pages remain cached when stock status remains in stock after purchase
    EXPECTED BEHAVIOUR

    Purge product only when the stock status changes. Do not purge categories on changes to the quantity or stock status.
    X-LiteSpeed-Purge: public,9df_FD
    Category, Subcategory and Product pages remain cached when stock status remains in stock after purchase
    EXPECTED BEHAVIOUR
    Notes: If you were to hide the number of units in stock on your product pages, this setting seems to work properly with the purge changing to X-LiteSpeed-Purge: public,9df_ = which results in product page and category/subcategory pages all being purged to then be updated to Out of Stock on the product which status has changed.

    Always purge both product and categories on changes to the quantity or stock status.
    X-LiteSpeed-Purge: public,9df_
    Category, Subcategory and Product pages all purged after purchase
    EXPECTED BEHAVIOUR

    In conclusion to address the unreliable caching and performance:

    • LSCache doesn’t seem to be purging correctly in the instance that only the product should be purged on each purchase provdiing the status does not change. This needs to be addressed with Litespeed Support.

    Thread Starter rockso

    (@rockso)

    Hi..

    Product category page – Cache – miss
    TTFB 8.83s, content download 16ms, total time 8.85s
    https://postimg.cc/YLjr7zdD

    Same product category page – Cache – hit
    TTFB 27ms, content download 2ms, total time 29ms

    Same product category page, Litespeed Cache plugin disabled
    TTFB 257ms, content download 8.25s, total time 8.51
    https://postimg.cc/DmzLmVDH

    #while the cache miss and cache disabled have similar overall total times, with the plugin disabled, you see content appear on the screen with a second… and build up, rather than cache miss, where nothing appears to be happening for 8 seconds.

    Product page
    Product category page – Cache – miss
    TTFB 1.7s, content download 7ms, total time 1.8s

    Same product category page – Cache – hit
    TTFB 19ms, content download 2ms, total time 22ms

    Same product page, Litespeed Cache plugin disabled
    TTFB 279ms, content download 1.1s, total time 1.4s


    Thread Starter rockso

    (@rockso)

    I have tried all of the preset configured options.
    When pages are cached, its amazingly fast.. I understand that when a product page has it’s stock levels changed, the cache is purged.. no problem, the none-cached product pages are generally 2 seconds TTFB, so acceptable..

    The problem is with the product category pages, this is my selected option “Purge product only when the stock status changes. Do not purge categories on changes to the quantity or stock status.” Yet, each time the stock quantity changes, the product category cache is purged. Not only the category the product sits in, but also the parent categories.

    none-cached product category pages have an appalling TTFB, rendering the site almost unusable. https://ibb.co/b1V8gy2

    While none-cached pages, posts and products have a TTFB from 700ms to 2000ms…

    It seems the cache, for the whole site is being purged, upon one single change to one product’s stock levels/stock status.

    I just can’t understand why or how to fix it?

    • This reply was modified 8 months, 2 weeks ago by rockso.
    Thread Starter rockso

    (@rockso)

    HI, thanks for getting back to me.

    It’s not so much the page speed on none cached product pages. It’s the page speed on none cached product category pages.

    The category pages cache is being purged regularly, and I do not know why. When the product category page has no cache, the TTFB can be anywhere from 6 seconds to as bad as 24 seconds,

    From today’s tests
    https://ibb.co/4shc5yp
    https://ibb.co/Yk9k67T

    this is a staging site, so no product details, or stock levels have been altered, yet, the cache on product categories is being purged several times a day.. any help & advice is greatly appreciated.

    Thread Starter rockso

    (@rockso)

    This did nothing. Other than the stock quantity on the product page no longer updates after a sale. I have turned ESI back on, flushed the cache, re-crawled, and the stock no longer updates on front end (tested across multiple private browsers).

    In addition, switching ESI off, also did not fix the issue of product category pages cache purging and a TTFB of 10 + seconds

Viewing 15 replies - 1 through 15 (of 19 total)