FLBuilder class is the main entry point for the Beaver Builder plugin. It handles initialization, UI rendering, asset management, and WordPress integration.
Overview
TheFLBuilder class is defined in classes/class-fl-builder.php and serves as the core controller for:
- Builder UI initialization
- Content rendering
- Asset enqueuing (CSS/JS)
- WordPress hooks integration
- Module loading and management
Class Properties
Public Properties
The ID of a post currently being rendered. Used to track rendering context.
Font Awesome 4 CDN URL (empty by default, can be set via filters)
Font Awesome 5 Pro CDN URL:
https://pro.fontawesome.com/releases/v5.15.4/css/all.cssPrivate Properties
$template_dir- Default directory for theme templates:fl-builder/includes$rendered_assets- Tracks already-rendered asset paths$enqueued_global_assets- Tracks enqueued global CSS/JS$inline_js- Stores inline JavaScript to render in footer
Key Methods
init()
Initializes all WordPress hooks and filters.- Action hooks for UI, asset enqueuing, content rendering
- Filter hooks for CSS/JS, body classes, editor integration
- Module loading filters
class-fl-builder.php:79
render_content()
Filtersthe_content to render Beaver Builder layouts.
$content(string) - The post content
is_builder_active()
Checks if the builder is currently active for the current post.enqueue_ui_styles_scripts()
Enqueues styles and scripts for the builder UI.fl_builder_ui_enqueue_scripts - Fired when UI assets are enqueued
Source: class-fl-builder.php:85
enqueue_all_layouts_styles_scripts()
Enqueues assets for all Beaver Builder layouts on the current page.class-fl-builder.php:87
render_query()
Renders a query loop for modules that display posts.$settings(object) - Module settings containing loop configuration
get_asset_url()
Returns the URL for a builder asset (CSS or JS file).$path(string) - Relative path to the asset
Action Hooks
TheFLBuilder class registers these action hooks:
Core initialization hooks
Core initialization hooks
plugins_loaded- Loads plugin text domainwp- Initializes UI at priority 11send_headers- Adds no-cache headers when builder is active
Asset enqueuing hooks
Asset enqueuing hooks
fl_builder_ui_enqueue_scripts- Enqueue UI assets (priority 11)wp_enqueue_scripts- Enqueue layout assets (priority 11)wp_head- Render custom CSS for editing (priority 999)
Rendering hooks
Rendering hooks
wp_footer- Render UI markupadmin_bar_menu- Add builder menu to admin bar (priority 999)
Filter Hooks
TheFLBuilder class registers these filter hooks:
Content and CSS filters
Content and CSS filters
fl_builder_render_css- Modify rendered CSS (priority 9999)the_content- Render builder layouts in post contentbody_class- Add builder-specific body classes
Editor integration filters
Editor integration filters
wp_default_editor- Set default editor (TinyMCE vs Text)mce_css- Add custom CSS to TinyMCE editormce_buttons- Customize TinyMCE toolbar buttonsmce_buttons_2- Customize second TinyMCE toolbarmce_external_plugins- Add external TinyMCE pluginstiny_mce_before_init- Modify TinyMCE font sizes
Module loading filters
Module loading filters
fl_builder_load_modules_paths- Filter module paths (priority 9999)
Usage Examples
Check if Builder is Active
Get Rendering Post ID
Hook into Asset Enqueuing
Modify Rendered CSS
Related Classes
FLBuilderModel
Data model for managing layouts and nodes
FLBuilderModule
Base class for creating custom modules
FLBuilderAJAX
AJAX request handling for builder operations
Hooks Reference
Complete list of action and filter hooks
Best Practices
Source Code Reference
- File:
classes/class-fl-builder.php - Since: Version 1.0
- Version: 2.10.1.1