ResolvedAttributes – Fatal error when adding 70 or more

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #33285
    sam
    Participant

    HI,

    First again congrats on the new round of updates, the theme is getting better and better.

    Today I had a client request to add some attributes, around 120 in total, but for some reason when i add anymore then 60 I am getting a fatal error message come up, and the product is no longer viewable.

    I needed to set up a buy one get one pizza product, where they can choose a large pizza, and then choose a medium for free. However some pizzas they have to pay price differences for. It worked upto around 60, then any more the page would not load and a fatal error would show, although this was just that product page based no more.

    I had another coder look at it, and the error is coming from the theme, but we can not locate exactly where the conflict is coming from.

    Here is the page working with just a couple of variations added.
    https://jimmys.vn/product/trial-2/
    You can see it also takes an eternity to load for some reason

    Any ideas or workarounds>

    #33306
    Althemist
    Keymaster

    Hello sam,

    This is not theme related. It’s a limitation of WooCommerce. You can create up to 50 variations per product and this is done for performance reasons. Of course you can increase the number of allowed variations, but this would probably cause a huge performance issues on your site.

    If you already increased the maximum number of variations with a custom function, most probably your server just can’t handle the variations creation task.

    #33314
    sam
    Participant

    Hi,

    That is not true, You can create as many as you want, the limitations are in how many variations you can create at once, this is to limit developers from accidentally creating 1000’s of variations at at time. You can create 50, then another 50.. I know of systems handling variations in the 1000’s so 112 should not create a server hang up.

    If woo did not want people to create more then 50, I’m sure they would just limit that function.

    To test, I turned off the laftka theme, and the variations ran with no problems, no server hang up, no critical error. which is why i have reached out, this is a theme error rather then overloading my server, i even increased the number to over 300 variations to push the system, again no problems.

    Advice would be great,

    Thanks

    #33319
    Althemist
    Keymaster

    Could please give us the exact error message you get? We tried to reproduce the problem and we couldn’t.

    #33326
    sam
    Participant

    i am unable to reply

    #33327
    sam
    Participant
    This reply has been marked as private.
    #33328
    sam
    Participant

    The message we get is “There has been a critical error on this website, Learn more about troubleshooting WordPres”

    IT GOes crtical at 69 Products as the example here shows is https://jimmys.vn/product/two-on-tuesday/

    The example where it works is here, currently 51 products https://jimmys.vn/product/trial/

    Essentially There are 11 pizzas, if they order a large they get can a free medium pizza – which is the same or the same value.
    However they can upgrade there pizza bu paying the difference in pricing on the medium

    Example. Buy a large cheese 249k this would allow them to get a free Cheese pizza worth 169K or a pizza of similar value – if they wanted a Free pepperoni pizza they would have to pay the difference, which is 60K (Medium cheese 169k – Medium Pepperoni 229K = 60K)

    #33329
    Althemist
    Keymaster

    Hi Sam,

    I am afraid I still don’t understand.

    The https://jimmys.vn/product/two-on-tuesday/ product is set as a COMBO product, but there are NO products added to the combo. The product is NOT PURCHASABLE because of that, but ALSO, because it doesn’t have a price.

    Additionally, the product have 2 groups of attributes (11 pizza types for each), but those attributes are not (and cannot be) used because it is not a variable product but a COMBO product.

    I think I understand what are you trying to do (not 100% sure, though), but that’s not the right way. The way I see it, you’d need to create 2 separate variable products for the LARGE PIZZA and MEDIUM PIZZA and add them as combined products of the main product combo. Both products must be required and the option for quantities must be disabled. (each product in the combo must have min and max quantity 1)

    Right now the product construction you have is absolutely unusable (combo product without products assigned) and most probably that’s the reason for the errors (when you change the theme it disables the custom theme’s product options, including the combo functionality, so it would work fine).

    Also, noticed you are using Elementor while the theme was built to work exclusively with WP Bakery Page Builder. You can still use Elementor, but that can create unpredictable conflicts if used together with WP Bakery (which is the case on your site). On the other hand – without WP Bakery Page Builder you’d lose a lot of the theme’s custom functionality, as they are closely tied together.

    Another thing we noticed is the use of W3TC. While it’s extremely powerful plugin, it’s default settings are too aggressive for a complex theme like Lafka. Especially the JS minification/combination/defer settings. I’d suggest finishing your site without ANY caching and carefully configure caching settings after that.

    #33373
    sam
    Participant

    Hi, I think you were looking at the Two on Tuesday Copy, not the right file, The products are set to variable for sure.

    I have deleted the one You have looked at.

    let me try and explain this better for you!

    The customer can buy any Large pizza, and then they get a free Medium pizza to go with it.
    Example 1: Order a Cheese Pizza Large – 279K then they get a free pizza worth 169K of Less.
    Example 2 Order a Cheese pizza large – 279K then they get a free medium Pepperoni they have to pay the difference between a medium Cheese 169k and a medium Pepperoni 229K in this case 60K
    Example 3 Order a Cheese pizza large – 279K then go for a free Inferno they have to pay the difference between a medium Cheese at 169k and Medium Inferno 269K in this case 100K extra
    Example 4: Order a BBQ Chicken Large – 359K they could then have a BBQ Chicken or any medium pizza worth 249K or less (Cheese, 4 Meat, Veggie, bbq chicken, Sausage etc)
    Example 5. Order a BBQ Chicken Large – 359K then they went for a Hawaiian medium again they would pay the difference between a BBQ chicken Medium 249K and a Medium Hawaiian 269K in this case 20K
    Example 6 Order Either a Hawaiian, Inferno, Supreme Large, all priced at 379K in this instance You can have any free medium pizza as all the mediums are worth less than those 3 medium pizzas.

    Hopefully this makes it clearer for you.

    I have set up Large and medium as attributes. 11 of each.
    Then on my Variations, I have the pricing combos for each product set out.
    AS the three most expensive pizzas have a higher medium price then the other 11, you can choose any of them as your combo and therefore don’t have to pay more money. _ I have therefore set them up as an add any medium pizza.

    #33379
    Althemist
    Keymaster

    Tried to replicate what you explained. Ordered Large Inferno priced at 379K from Example 6. How do you let users get the free medium pizza? I couldn’t figure this out. Also, how is this related to the number of variations? All your pizzas are just standard variable products with 3 options (sizes) and some addons.

    Sorry, I am really trying to help you, but just can’t understand the problem.

    #33425
    sam
    Participant

    Do you understand that with the use of variable products, you can price those combined products to anything you want? In your response above, You are talking about general products, which is not what I am having troubles with.

    Right now you’re not looking at the correct page at the moment, as I wrote in one of my responses above you need to go to the page I listed, you went to the wrong one.
    You need to go to this page! https://jimmys.vn/product/two-on-tuesday/ Does it load? The answer is no.
    So please use the login details and go into the edit product for that product, so you can see the set-up.

    It has 69 Variations
    The Attributes are the 11 different pizzas in two different sizes – Large & Medium
    If you buy a Any Large Pizza, you can get a free medium pizza – However, there are price variations on some pizzas… Customers are able to upgrade their pizza. You are not able to buy the cheapest pizza and then get the most expensive medium pizza. You would have to pay the price difference!

    ~Example
    When setting up the variations, in the first box it would say Large Supreme, in the second box would be Medium Cheese pizza. The combined value of these two would be, 369000 VND
    In the next Variation, I would have Large supreme in the first box and Medium Sausage pizza the combined value would be, 369000 VND this would continue for all the pizzas on the medium list. 11 rows of variations per large pizza product.

    #33435
    Althemist
    Keymaster

    Yes, I understand the concept you are talking about. Each combination can have it’s own price.

    We have tried to replicate the problem on our own server. We first created 2 attributes (Large Pizza & Medium Pizza). Then we created 11 terms for each attribute (Pizza 1-11).

    With those attributes we created a variable product like yours with 99 variations (30 more than your product). It loads extremely slow because of the number of attributes, but it works, which means one of the two possibilities:

    https://dev.althemist.com/lafka/product/two-on-tuesday/

    1. Either your server times out before the entire product date is loaded

    OR

    2. There is a conflict with some of your WooCommerce products

    In your case it’s definitely the number 1. When you switch to some default theme it may work, but that’s probably because it’s a much lighter theme with a lot less features, so your server can handle it.

    You can check the error log of WooCommerce on your site under WooCommerce > Status > Logs – https://jimmys.vn/wp-admin/admin.php?page=wc-status&tab=logs

    Check the error from 24.03.2022 @ 6:00 PM +7

    IT clearly says:

    2022-03-24T10:18:48+00:00 CRITICAL Maximum execution time of 30 seconds exceeded in /home/jimmys.vn/public_html/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-data.php on line 822

    2022-03-24T10:19:54+00:00 CRITICAL Maximum execution time of 30 seconds exceeded in /home/jimmys.vn/public_html/wp-includes/taxonomy.php on line 1307

    2022-03-24T10:19:58+00:00 CRITICAL Maximum execution time of 30 seconds exceeded in /home/jimmys.vn/public_html/wp-includes/plugin.php on line 164

    2022-03-24T11:00:57+00:00 CRITICAL Maximum execution time of 30 seconds exceeded in /home/jimmys.vn/public_html/wp-includes/class-wp-object-cache.php on line 494

    You may try to increase the max execution time for your hosting, but in general having such large number of variations per product is considered bad practice. Even if you succeed to increase the timeout and it works, imagine the client who would wait 30+ seconds for the page to load.

    #33481
    sam
    Participant

    Ok, thanks for looking into that.

    So I guess outside of talking to my host, do you have any other workarounds for this particular promo we have going?

    Thanks

    #33483
    Althemist
    Keymaster

    I’d suggest increasing max execution time to at least 60 first. Next thing you can try is the new Tool of WooCommerce for Regenerating the product attributes lookup table. It’s the last option under WooCommerce > Status > Tools.

    You can also try this plugin to create better indexes in your database. It may dramatically speed your store up, especially where the problems are caused by large product data.

    Index WP MySQL For Speed

    Last, but definitely not least – I’d suggest using a premium hosting like SiteGround for that type of websites. There is even a coupon for it in our DEALS section. DigitalOcean is not super bad, but definitely not as optimized and stable as SiteGround and similar services.

    Hope this helps.

Viewing 14 posts - 1 through 14 (of 14 total)

You must be logged in and have valid license to reply to this topic.

License required for the following item
Login and Registration Log in · Register