PHP Fatal error: Uncaught Error: Class “FLThemeBuilderRulesLocation”
-
Root cause:
FLThemeBuilderRulesLocationandFLThemeBuilderLayoutDatabelong to Beaver Themer, not bundled with Beaver Builder Lite. This popup module apparently expects Themer to always be present, but when it isn’t, these calls fatal.
This effects lines 99, 123, 162 of Version 2.11.0.4
-
😔
PHP Fatal error: Uncaught Error: Class "FLThemeBuilderRulesLocation" not found in wp-content/plugins/beaver-builder-lite-version/modules/popup/popup.php:162We’ also had the fatal error on our site today. We had to disable Beaver Builder Lite to bring the site back up, so unfortunately our Beaver Builder templates are no longer rendering properly. Hoping a patch is released soon!
Confirming there’s a bug/conflict. None of our pages would open except the admin. Deactivating BBPB brought the pages back.
So I had to revert/rollback to v2.10.3.2 and now all pages work normally, including page using the BeaverBuilder.
Thanks, hope this helps!
I have this same error as of this morning. Website down. But my problem is even though i reverted to v2.10.3.2 my website still isnt loading unless i disable beaver builder and now my site looks terrible. Please update asap with a solution
Ok i just got Claude to fix it for me. wow. heres the work around:
Fix for “Class FLThemeBuilderRulesLocation not found” fatal error in Beaver Builder Lite (2.11.0.4)
If your site is throwing a critical error and your debug log shows something like:
PHP Fatal error: Uncaught Error: Class 'FLThemeBuilderRulesLocation' not found in .../plugins/beaver-builder-lite-version/modules/popup/popup.php:162…here’s what’s actually going on, and a fix that worked for me. Root cause
FLThemeBuilderRulesLocationandFLThemeBuilderLayoutDataare classes that belong to Beaver Themer, a separate paid add-on — they are not part of Beaver Builder Lite. The Popup module’s code in Lite calls these classes directly, with no check for whether Themer is even installed. If you’re running Lite without Themer (which is most Lite users), any code path that hits these calls throws a fatal error and takes the whole site down.This isn’t a corrupted install or a bad update on your end — it’s a bug in the plugin itself. I confirmed this on a fresh, fully-updated 2.11.0.4 install; rolling back to older versions did not fix it for me (results seem to vary depending on which version you land on). The fix
Open
wp-content/plugins/beaver-builder-lite-version/modules/popup/popup.phpand addclass_exists()guards at the three call sites. Specifically:In
pre_editing_enabled():// before if ( ! FLThemeBuilderLayoutData::current_post_is( 'popup' ) ) { // after if ( ! class_exists( 'FLThemeBuilderLayoutData' ) || ! FLThemeBuilderLayoutData::current_post_is( 'popup' ) ) {In
get_user_templates():// before if ( 'layout' !== $type || ! FLThemeBuilderLayoutData::current_post_is( 'popup' ) ) { // after if ( 'layout' !== $type || ! class_exists( 'FLThemeBuilderLayoutData' ) || ! FLThemeBuilderLayoutData::current_post_is( 'popup' ) ) {In
check_themer_layout():// before private static function check_themer_layout(): bool { $post = FLThemeBuilderRulesLocation::get_preview_original_post(); return $post && 'fl-theme-layout' === $post->post_type; } // after private static function check_themer_layout(): bool { if ( ! class_exists( 'FLThemeBuilderRulesLocation' ) ) { return false; } $post = FLThemeBuilderRulesLocation::get_preview_original_post(); return $post && 'fl-theme-layout' === $post->post_type; }PHP’s
||short-circuits, so once! class_exists(...)istrue, it never reaches the part of the line that would otherwise call the missing class. This effectively makes the Popup module quietly skip its Themer-specific logic when Themer isn’t installed — which is exactly what should happen. CaveatThis is a manual patch to the plugin’s own file, so it’ll get overwritten the next time Beaver Builder Lite updates. Either hold off on auto-updates until this is fixed upstream, or be ready to reapply the patch (or check if it’s already fixed) after the next update.
I’d also encourage anyone hitting this to report it to Beaver Builder support with your version number and these line numbers, so it gets a proper upstream fix rather than everyone patching their own sites.
Hope this saves someone else the afternoon it cost me.
Thanks for reporting the issue, your Claude was almost there with a fix there are a couple of other places that need a guard.
We will be releasing a fixed version shortly. In the mean time here is the full diff:https://gist.github.com/Pross/320a6f514e00e5f6ad7c2b9a6d3ac627
I’d also encourage anyone hitting this to report it to Beaver Builder support with your version number and these line numbers, so it gets a proper upstream fix rather than everyone patching their own sites.
Actually the correct place for supporting the lite/free version of Beaver Builder is right here in the wp repo
We will be releasing 2.11.0.5 very soon, after that there is a 6(ish) hour forced wait time before the update hits the servers and you will be able update.
The update is now pushed, you can get it from here: https://wordpress.org/plugins/beaver-builder-lite-version/
Automatic updates are held for 6+ hours by WordPress, thats out of our hands im afraid.
You must be logged in to reply to this topic.