1

I opted out of extended PHP support from my hosting provider and unfortunately did not check to see if my Wordpress build would be compatible with PHP 8.0 (stupid, I know...I rushed because I didn't want to get charged again and now I'm paying for my hastiness).

I am receiving the following error when loading my domain (http://reallybadreverb.com):

ArgumentCountError thrown Too few arguments to function WP_Widget::__construct(), 0 passed in /homepages/3/d208897801/htdocs/clickandbuilds/ReallyBadReverb/wp-includes/class-wp-widget-factory.php on line 61 and at least 2 expected

Here is what is located in line 61 of the referenced file:

$this->widgets[ $widget ] = new $widget();

Any tips on what to change in the code so I don't have to rebuild my site from scratch would be most appreciated. Thank you.

1
  • Can you not just rollback to PHP 7.4.x? Apr 11, 2022 at 13:46

1 Answer 1

0

You cannot change something in the referenced file, since it's part of the core. Ok, technically you can, but you really really shouldn't. Even the latest wordpress is not yet production-ready to be compatible with PHP 8 - https://make.wordpress.org/core/2020/11/23/wordpress-and-php-8-0/

However, wordpress 5.6+ is beta-compatible, so your best course of action is to upgrade wordpress. If this is not solved, then you either have to downgrade the server to PHP 7.4, or wait until wordpress releases a fully compatible version (hoping that in the next few weeks/months with the release of wordpress 6).

2
  • Thanks for the reply. I cannot upgrade Wordpress since I can't even get into wp-admin due to the error. However, I am pretty sure I was running at least 5.6 before the error occurred. I just downgraded to PHP 7.4 and I'm still getting the same error. Apr 4, 2022 at 15:50
  • 1
    I managed to get 2 free months of PHP 7.3 support and downgraded to that version. Problem fixed. Gonna look into updating the theme I use so I can upgrade to at least PHP 7.4 moving forward. Thanks again for the help. Apr 4, 2022 at 15:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.