• Root cause: FLThemeBuilderRulesLocation and FLThemeBuilderLayoutData belong 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

Viewing 6 replies - 1 through 6 (of 6 total)
  • 😔

    PHP Fatal error:  Uncaught Error: Class "FLThemeBuilderRulesLocation" not found in wp-content/plugins/beaver-builder-lite-version/modules/popup/popup.php:162

    We’ 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

    FLThemeBuilderRulesLocation and FLThemeBuilderLayoutData are 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.php and add class_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(...) is true, 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. Caveat

    This 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.

    Plugin Author Simon Prosser

    (@pross)

    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.

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

You must be logged in to reply to this topic.