Support » Theme: Storefront » PHP error for get_average_rating

  • Hello,

    First of all, thank you for this wonderful theme, I have been using it with a couple of projects and it is very easy to customize.

    I updated to the latest version today on one of the projects, and I have an error
    PHP Fatal error: Uncaught Error: Call to a member function get_average_rating() on null in .../wp-content/plugins/woocommerce/templates/loop/rating.php:28. Is this something I am not configuring right?

    Regards,
    Iulia

Viewing 6 replies - 1 through 6 (of 6 total)
  • RK

    (@riaanknoetze)

    Hi there,

    The error you’re getting seems to be related to the core WooCommerce plugin instead of the Storefront theme itself.

    You’ll want to open a support request at the WooCommerce support forums instead 🙂

    If required, that’s available at https://wordpress.org/support/plugin/woocommerce/

    Hello,

    Thank you for the quick reply! You are right, it was just a coincidence that I run into the issue after upgrading the theme. I will post the question on WooCommerce plugin support forum.

    Have a nice evening,
    Iulia

    Hello,

    I already update the issue in woocommerce plugin support forum, and I am sharing with you my findings as well.

    After some troubleshooting, it seems that whatever is passed as the global variable for $product in all the woocommerce/templates/loop files comes as a null, and in these files, there is no check to see if that is either ! empty or an instance of WC_Product. This is why the methods and properties do not exist, hence the error.

    This means that there is an issue in the theme where the products are computed for the homepage template. For example, for the first expected product, I see Welcome as the title, instead of the product title, meaning that the code is probably not fetching products but posts, or at least this is what I think, that’s where my troubleshooting stopped (perhaps adding a <?php wp_reset_postdata(); ?> in the shortcodes could fix this).

    I hope this helps with fixing the issue.

    Regards,
    Iulia

    • This reply was modified 8 months, 2 weeks ago by Iulia Cazan.
    RK

    (@riaanknoetze)

    Hi there,

    After some troubleshooting, it seems that whatever is passed as the global variable for $product in all the woocommerce/templates/loop files comes as a null, and in these files, there is no check to see if that is either ! empty or an instance of WC_Product. This is why the methods and properties do not exist, hence the error.

    These sound like they might be coming from a custom child theme since the parent Storefront theme doesn’t have any template overrides in place at all 🙂

    Hello,

    This is very strange. There is no child theme activated, and in Store front theme there are pieces of code that are pulling filtered posts from the database. I am looking at /wp-content/themes/storefront/inc/woocommerce/storefront-woocommerce-template-functions.php for example and I see that the content is actually computed in $shortcode_content which is then output, and there are filters applied.

    Maybe I am not looking in the right files, but there is where debugging takes.
    Is this something you can check?

    Regards,
    Iulia

    • This reply was modified 8 months, 2 weeks ago by Iulia Cazan.
    RK

    (@riaanknoetze)

    Honestly, I’m not 100% sure what should be checked here since the fatal error in the initial post isn’t something that I can replicate on my side. If you have any step-by-step instructions, I’m happy to try and replicate that 🙂

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘PHP error for get_average_rating’ is closed to new replies.