Support » Fixing WordPress » Fatal error: Call to a member function do_all_hook() on array in plugin.php

  • I am encountering this error:

    Fatal error: Call to a member function do_all_hook() on array in /wp-includes/plugin.php on line 837

    I’ve seen the advice to do a manual upload of the 4.7 build (sans wp-content folder and the config.php file) and I’ve done that. Not fixed.

    I’ve seen the advice to flush the cache and so on. Been there, done that. Not fixed.

    I took a backup of my system before updating, but I was using a WordPress plugin for the backup, so without getting back to the WordPress admin dashboard, I can’t restore.

    I have multiple sites that I am now concerned about updating. Until I can get this one working so that I know what my troubleshooting and recovery steps are, I won’t be updating any more of them.

    What is the proper fix for this error?

    Thanks in advance.

Viewing 15 replies - 1 through 15 (of 16 total)
  • Since all of the other guidance did not work, I have reverted to WP 4.6.1 (via manual upload) and the site is now working fine. I will monitor these forums to see if this gets more stable, but I will NOT be updating to 4.7 without further evidence that this is truly resolved. The earlier post on this very same topic was (in my opinion) closed as resolved prematurely. It seems that others are also experiencing the issue and the “resolution” that is documented is not effective.


    I have the same issue. i downloaded 4.6.1. Can you let me know how you manually uploaded properly? I know I have to go into my ftp but what next?


    Hi i figured it out. thanks for your follow up. I didn’t know where to even begin

    Hi @davinity12. Sorry I missed you last night and glad to hear that you got the manual upload figured out. That was a huge relief for me, but I’m frustrated and concerned that (it seems) no one on the WP team is taking this error seriously.

    I have this exact same problem – using the GB code. Someone needs to fix this. Went through the auto-update and then the manual version all with the same error. Have to resort to downgrade!

    • This reply was modified 2 years, 1 month ago by  sblotus.

    I had the same issue as well. The core team are working on it:

    Can you still explain how to do a manual upload, because I am an absolute neophyte when dealing with FTP. I run a library website and we need it up and running.


    I pushed the update button and got the same fatal error results. First time a WP updated did not work. Thankfully I had a good backup. I will read up and discover what the correct update procedure is to avoid killing my site during the update process. So far I only see suggestions to manually update.

    • This reply was modified 2 years, 1 month ago by  Bobby Tee.

    One suggestion I saw was to rename the “object-cache.php” file in the wp-content folder. To do this yourself, you will need to know a little about FTP. Otherwise, you can contact your web hosting provider and ask them to do that on the site that was updated.

    If you prefer to revert to the older version of WP (v4.6.1), you’ll definitely need to have access to the host control panel or know how to use FTP. I use FileZilla as my FTP client and have all of my site credentials stored in a password vault.

    I went to and downloaded the 4.6.1 zip file to my PC. After unzipping it, I accessed my host via FTP and uploaded the contents of the 4.6.1 directories EXCEPT for the wp-content folder (that would wipe out your themes and your images and so on.

    If you’re really not comfortable doing this, I would propose checking in with the service provider and asking them to rename the object-cache file to see if that works for you. I didn’t see that suggestion until after I uploaded v4.6.1 manually and I’m not willing to test that out until I have more time to troubleshoot, if needed.

    Best of luck to all.

    This WORKAROUND worked for me:

    Comment out line 837
    of the file /wp-includes/plugin.php

    Example: (Lines 834-838)

    function _wp_call_all_hook($args) {
    global $wp_filter;

    ### $wp_filter[‘all’]->do_all_hook( $args );

    Initially that got my blog back instantly.
    I have no idea what this may ‘break’ in the blog elsewhere, but it all seemed to work ok.

    Then, per this post… I renamed /wp-content/object-cache.php to /object-cache_php
    and removed the comment I added to line 837 of the /plugin.php file.

    Blog works now.
    As a thought: The /plugin.php file would most likely be replaced on an update, but once this is resolved you’ll have to un-rename the /object-cache_php file.

    Hope this helps someone!

    Thanks, worked for me.

    One suggestion I saw was to rename the “object-cache.php” file in the wp-content folder.

    • This reply was modified 2 years, 1 month ago by  Canadianllama.

    Thanks everyone. I figure it out. I tried doing the manual reinstall of a previous version of WP, which DID work, but WP automatically updated AGAIN on me in the nighttime. U_U’ This time I tried renaming Object Cache in my FTP client (which I have used before, but makes me nervous). This method also fixed the problem.

    So Thanks to everyone posting here!!

    We renamed wp-content/object-cache.php and it worked.

    Renaming the object-cache.php in /wp-content also worked for me. Thanks!



    I am looking for a “wp-content/object-cache.php” in the folders and could not find it. My error message is slightly different. In stead of reporting that the error is on line 837, it says it is on line 276.

    “Fatal error: Call to a member function remove_filter() on a non-object in /home/…../public_html/wp-includes/plugin.php on line 276”

    There simply does not seem a “object-cache.php” file in the wp-content folder.

    In response to the solution by mlewitz, should I alter the lines in 837 or should they be altered at line 276? Btw, aren’t lines in PHP code commented out by using backslash and star signs (/* comment */) in stead of hashtags (#)?

    Look forward to a speedy response from anyone.

Viewing 15 replies - 1 through 15 (of 16 total)
  • The topic ‘Fatal error: Call to a member function do_all_hook() on array in plugin.php’ is closed to new replies.