Support » Plugin: WooCommerce » PHP error for get_average_rating

  • Resolved Iulia Cazan

    (@iulia-cazan)


    Hello,

    I recently updated the plugin to the latest version, and now 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 there something I am not configuring right or is this an issue with the latest version of the plugin?

    Thank you!
    Iulia

Viewing 6 replies - 1 through 6 (of 6 total)
  • Which page or action exactly is causing this error?

    Hello,

    I think that the action that is giving the error is woocommerce_after_shop_loop_item_title, and I can see it on the homepage when the box for the first product is rendering, and nothing else is rendering after that.

    Regards,
    Iulia

    Stef

    (@serafinnyc)

    Can you please post a URL? Sounds like there is something in your theme or code that is breaking the plugin. Not the plugin itself.

    Hello,

    Unfortunately, the site does not have public access to make this easier to debug.
    The theme activated is Storefront and I first posted there the error and they directed me to this support forum https://wordpress.org/support/topic/php-error-for-get_average_rating/.

    Both WooCommerce and Storefront were upgraded recently to their latest versions, and then this error occurred.

    If this helps, the server runs with PHP 7.1.25 and the site is using WordPress core 5.1.1 with Gutenberg deactivated.

    Regards,
    Iulia

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

    Hello,

    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.

    Definitely, there is an error in the theme as well, since the proper object is not passed. I think that in the woocommerce template you could have a minimal check for the object itself before starting to access its properties in these files, especially that we are aware that the expected objects are most of the times computed/passed from the theme.

    I hope this helps with fixing and implementing a fail-fast for this type of issue.
    I will update the Store front issue as well about my findings, perhaps they can find the issue in the theme and fix it.

    Regards,
    Iulia

    • This reply was modified 6 months, 2 weeks ago by Iulia Cazan.
    Plugin Support Hannah S.

    (@fernashes)

    Automattic Happiness Engineer

    Thanks for sharing your findings so far! I’ll close this issue – if you have any further questions, please do start a new thread.

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