Skip to:
Content
Pages
Categories
Search
Top
Bottom

Custom Theme critical fault: Class 'BBP_Theme_Compat' not found…Whut!?

  • i’m adding bbPress to our WP blog, followed the instructions in the Theme Compatibility sticky and appended all the functions from bbPress/functions.php into myTheme/functions.php. as soon as i reloaded the page, i got a critical fault error. can’t find the required class. since i copied all the files across as instructed, shouldn’t the file be locatable? i’m not sure where to even begin with this. i thought integration would be relatively simple, i’m sure its something simple i’m overlooking.

    please help me out so i can get cranking. i’ve already blown away the theme i built because i didn’t know bbPress’ cute little update ‘feature’, so i’m anxious to get back on track.

    should mention, using latest of WordPress and bbPress.

    thank you very much

    WR!

Viewing 8 replies - 1 through 8 (of 8 total)

  • varsitysmack
    Participant

    @varsitysmack

    I have this issue too. It’s taken down my whole site. Needs resolved ASAP, please.


    varsitysmack
    Participant

    @varsitysmack

    I should add that all was working just fine until I updated BBPress to 2.0.1. The only reason I updated it was because a wordpress update said there was a new version to download and I downloaded it. Got the error when the auto install tried to reactive the plugin.

    The error when I tried to update to 2.0.1 was “Cannot remove old plugin” or similar.

    The result was the same as above

    Fatal error: Class 'BBP_Theme_Compat' not found in /var/www/karting/www/wp-content/themes/karting2011/functions.php on line 46

    I deleted the bbpress folder from wp-content/plugins and then uploaded version 2.0.1 from here:

    https://wordpress.org/extend/plugins/bbpress/

    To the same place as the old folder. The template for bbpress in my theme were untouched.

    This got the site working again.

    I can confirm that this is an issue.

    However, gourou’s fix did not work for me. Site still trashed.

    Any ideas???

    A little more info:

    The error is happening in the functions.php file of the custom theme, which is copied from the included TwentyTen theme.

    I can get my site back by deleting my bbpress child theme. Re-adding the theme re-introduces the fatal error.

    I’ve verified that BBP_Theme_Compat exists in bbp-core-compatibility.php. It looks like a load-order problem to me — like functions.php is trying to extend BBP_Theme_Compat before the class has been created in bbp-core-compatibility.php. Could that be the issue? If so, how does one fix that?

    Hey folks. Got back up and running again. It is a load order issue. WP was attempting to load my theme files before it loaded the bbp core files. Since the class BBP_Theme_Compat is referenced in core, this makes wordpress asplode.

    I disabled the theme via FTP to get access to WP admin, then disabled bbpress. Then re-enabled bbpress and lastly re-enabled the theme. Seems to have solved it for now. If I had better WP/php chops I’d know how to write some code that ensures BBP core always loads before any themes. But I don’t. Maybe that can go on the list for next release?

    Have a good one.

    i suspected this might be the case when i went and updated everything in the following order:

    WP

    theme

    bbpress

    plugins

    and, like you @mesayre, my PHP chops aren’t quite up to the task of forcing a load order. would seem like a core-functionality issue that needs to be addressed quickly.

    glad to hear i’m not the only poor bastard popping eyeballs at this one.

    thanks for the pointers. i wish us all a communal good-luck and hope the higher ups see this and implement a fix for us all. to them: if i can help, let me know.

    WR!

    Hey @WhiteRau – here’s what I’ve found on the subject so far.

    According to this:

    https://wordpress.org/support/topic/how-to-change-plugins-load-order

    It should be completely possible to make bbPress load first using the priority value in the add_action() call. So if you can figure out which function(s) you want to be sure load first, you can enter a low value (lower than 10) and it should work. I don’t have time to test it now, but if you’re curious, I doubt it could hurt anything to give it a try.

    Good luck!

    Mike

Viewing 8 replies - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.