: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_2 et_pb_specialty_column"></div>
<li data-layout="1_2,1_2" data-specialty="0,1" data-specialty_columns="3">
<div class="et_pb_layout_column et_pb_column_layout_1_2 et_pb_specialty_column"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_2 et_pb_variations et_pb_3_variations">
<div class="et_pb_variation et_pb_variation_full"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<li data-layout="1_4,3_4" data-specialty="0,1" data-specialty_columns="3">
<div class="et_pb_layout_column et_pb_column_layout_1_4 et_pb_specialty_column"></div>
<div class="et_pb_layout_column et_pb_column_layout_3_4 et_pb_variations et_pb_3_variations">
<div class="et_pb_variation et_pb_variation_full"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<li data-layout="3_4,1_4" data-specialty="1,0" data-specialty_columns="3">
<div class="et_pb_layout_column et_pb_column_layout_3_4 et_pb_variations et_pb_3_variations">
<div class="et_pb_variation et_pb_variation_full"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4 et_pb_specialty_column"></div>
<li data-layout="1_4,1_2,1_4" data-specialty="0,1,0" data-specialty_columns="3">
<div class="et_pb_layout_column et_pb_column_layout_1_4 et_pb_specialty_column"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_2 et_pb_variations et_pb_3_variations">
<div class="et_pb_variation et_pb_variation_full"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4 et_pb_specialty_column"></div>
<li data-layout="1_2,1_4,1_4" data-specialty="1,0,0" data-specialty_columns="3">
<div class="et_pb_layout_column et_pb_column_layout_1_2 et_pb_variations et_pb_3_variations">
<div class="et_pb_variation et_pb_variation_full"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4 et_pb_specialty_column"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4 et_pb_specialty_column"></div>
<li data-layout="1_4,1_4,1_2" data-specialty="0,0,1" data-specialty_columns="3">
<div class="et_pb_layout_column et_pb_column_layout_1_4 et_pb_specialty_column"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4 et_pb_specialty_column"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_2 et_pb_variations et_pb_3_variations">
<div class="et_pb_variation et_pb_variation_full"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<div class="et_pb_variation et_pb_variation_1_3"></div>
<li data-layout="1_3,2_3" data-specialty="0,1" data-specialty_columns="4">
<div class="et_pb_layout_column et_pb_column_layout_1_3 et_pb_specialty_column"></div>
<div class="et_pb_layout_column et_pb_column_layout_2_3 et_pb_variations et_pb_3_variations">
<div class="et_pb_variation et_pb_variation_full"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_4"></div>
<div class="et_pb_variation et_pb_variation_1_4"></div>
<div class="et_pb_variation et_pb_variation_1_4"></div>
<div class="et_pb_variation et_pb_variation_1_4"></div>
<li data-layout="2_3,1_3" data-specialty="1,0" data-specialty_columns="4">
<div class="et_pb_layout_column et_pb_column_layout_2_3 et_pb_variations et_pb_3_variations">
<div class="et_pb_variation et_pb_variation_full"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation et_pb_variation_1_2"></div>
<div class="et_pb_variation_row">
<div class="et_pb_variation et_pb_variation_1_4"></div>
<div class="et_pb_variation et_pb_variation_1_4"></div>
<div class="et_pb_variation et_pb_variation_1_4"></div>
<div class="et_pb_variation et_pb_variation_1_4"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_3 et_pb_specialty_column"></div>
<% } else if ( typeof view !== \'undefined\' && typeof view.model.attributes.specialty_columns !== \'undefined\' ) { %>
<div class="et_pb_layout_column et_pb_column_layout_fullwidth"></div>
<li data-layout="1_2,1_2">
<div class="et_pb_layout_column et_pb_column_layout_1_2"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_2"></div>
<% if ( view.model.attributes.layout === "2_3" ) { %>
<li data-layout="1_4,1_4,1_4,1_4">
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<li data-layout="1_3,1_3,1_3">
<div class="et_pb_layout_column et_pb_column_layout_1_3"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_3"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_3"></div>
<div class="et_pb_layout_column et_pb_column_layout_fullwidth"></div>
<li data-layout="1_2,1_2">
<div class="et_pb_layout_column et_pb_column_layout_1_2"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_2"></div>
<li data-layout="1_3,1_3,1_3">
<div class="et_pb_layout_column et_pb_column_layout_1_3"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_3"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_3"></div>
<li data-layout="1_4,1_4,1_4,1_4">
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<li data-layout="1_5,1_5,1_5,1_5,1_5">
<div class="et_pb_layout_column et_pb_column_layout_1_5"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_5"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_5"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_5"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_5"></div>
<li data-layout="1_6,1_6,1_6,1_6,1_6,1_6">
<div class="et_pb_layout_column et_pb_column_layout_1_6"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_6"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_6"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_6"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_6"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_6"></div>
<li data-layout="2_5,3_5">
<div class="et_pb_layout_column et_pb_column_layout_2_5"></div>
<div class="et_pb_layout_column et_pb_column_layout_3_5"></div>
<li data-layout="3_5,2_5">
<div class="et_pb_layout_column et_pb_column_layout_3_5"></div>
<div class="et_pb_layout_column et_pb_column_layout_2_5"></div>
<li data-layout="1_3,2_3">
<div class="et_pb_layout_column et_pb_column_layout_1_3"></div>
<div class="et_pb_layout_column et_pb_column_layout_2_3"></div>
<li data-layout="2_3,1_3">
<div class="et_pb_layout_column et_pb_column_layout_2_3"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_3"></div>
<li data-layout="1_4,3_4">
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<div class="et_pb_layout_column et_pb_column_layout_3_4"></div>
<li data-layout="3_4,1_4">
<div class="et_pb_layout_column et_pb_column_layout_3_4"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<li data-layout="1_4,1_2,1_4">
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_2"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<li data-layout="1_5,3_5,1_5">
<div class="et_pb_layout_column et_pb_column_layout_1_5"></div>
<div class="et_pb_layout_column et_pb_column_layout_3_5"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_5"></div>
<li data-layout="1_4,1_4,1_2">
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_2"></div>
<li data-layout="1_2,1_4,1_4">
<div class="et_pb_layout_column et_pb_column_layout_1_2"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_4"></div>
<li data-layout="1_5,1_5,3_5">
<div class="et_pb_layout_column et_pb_column_layout_1_5"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_5"></div>
<div class="et_pb_layout_column et_pb_column_layout_3_5"></div>
<li data-layout="3_5,1_5,1_5">
<div class="et_pb_layout_column et_pb_column_layout_3_5"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_5"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_5"></div>
<li data-layout="1_6,1_6,1_6,1_2">
<div class="et_pb_layout_column et_pb_column_layout_1_6"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_6"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_6"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_2"></div>
<li data-layout="1_2,1_6,1_6,1_6">
<div class="et_pb_layout_column et_pb_column_layout_1_2"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_6"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_6"></div>
<div class="et_pb_layout_column et_pb_column_layout_1_6"></div>
return apply_filters( 'et_builder_layout_columns', $layout_columns );
function et_pb_pagebuilder_meta_box() {
do_action( 'et_pb_before_page_builder' );
if ( et_builder_bfb_enabled() ) {
$edit_page_id = get_the_ID();
$no_rtl_class = is_rtl() && 'on' === et_get_option( 'divi_disable_translations', 'off' ) ? 'et-fb-no-rtl' : '';
// Polylang creates copy of page and BFB should be loaded on page which is not saved yet and cannot be loaded on FE
// Therefore load the homepage and replace the content for BFB to make it load with content from other post
if ( 'add' === get_current_screen()->action || $edit_page_id === (int) get_option( 'page_for_posts' ) ) {
$new_page_url = get_home_url();
$bfb_url = et_core_intentionally_unescaped( et_fb_get_bfb_url( $new_page_url, $is_new_page, $edit_page_id ), 'fixed_string' );
// If Admin is SSL but FE is not, we need to fix VB url or it won't work
// because trying to load insecure resource.
$bfb_url = set_url_scheme( $bfb_url, is_ssl() ? 'https' : 'http' );
<div class='et_divi_builder et-bfb-page-preloading et_divi_builder_bottom_margin'>
var iframe = document.body.appendChild(document.createElement('iframe'));
iframe.id = 'et-bfb-app-frame';
document.body.classList.add('et-db');
document.body.classList.add('et-bfb');
if ('' !== '{$no_rtl_class}') {
document.body.classList.add('{$no_rtl_class}');
document.addEventListener('DOMContentLoaded', function() {
var outer = jQuery('<div>', {id: 'et-boc', class: 'et-boc'});
var inner = jQuery('<div>', {class: 'et-l'});
var app = jQuery('<div>', {id: 'et-fb-app'});
jQuery('#wpwrap').wrap(outer);
jQuery('#et-bfb-app-frame').appendTo('#et_pb_layout .et_divi_builder');
iframe.src = '{$bfb_url}';
// Add first-visible classname to first visible metabox on #normal-sortables
.addClass('first-visible');
$new_builder_url = add_query_arg( array(
'action' => 'et_builder_toggle_bfb',
'nonce' => wp_create_nonce( 'et_builder_toggle_bfb' ),
), admin_url( 'admin-ajax.php' ) );
// Disable BFB notification on Extra category builder. BFB support for Extra category builder will be added post inital launch
// This option available for admins only
if ( apply_filters( 'et_pb_display_bfb_notification_under_bb', true ) && current_user_can( 'manage_options' ) && et_pb_is_allowed( 'use_visual_builder' ) && et_pb_is_allowed( 'divi_builder_control' ) ) {
echo '<div class="et-bfb-optin-cta">';
echo '<p class="et-bfb-optin-cta__message et-bfb-optin-cta__message--warning">';
echo esc_html__( 'A New And Improved Divi Builder Experience Is Available!', 'et_builder' );
echo '<a href="' . esc_url( $new_builder_url ) . '" class="et-bfb-optin-cta__button">';
echo esc_html__( 'Switch To The New Divi Builder', 'et_builder' );
echo '<div id="et_pb_hidden_editor">';
echo '<div id="et_pb_content_editor">';
'wp_autoresize_on' => true
echo '<div id="et_pb_description_editor">';
'wp_autoresize_on' => true
echo '<div id="et_pb_footer_content_editor">';
'wp_autoresize_on' => true
'<div id="et_pb_main_container" class="post-type-%1$s%2$s"></div>',
! et_pb_is_allowed( 'move_module' ) ? ' et-pb-disable-sort' : ''
$rename_module_menu = et_pb_is_allowed( 'edit_module' ) && ( et_pb_is_allowed( 'general_settings' ) || et_pb_is_allowed( 'advanced_settings' ) || et_pb_is_allowed( 'custom_css_settings' ) ) ? sprintf(
'<%% if ( this.hasOption( "rename" ) ) { %%>
<li><a class="et-pb-right-click-rename" href="#">%1$s</a></li>
esc_html__( 'Rename', 'et_builder' )
$copy_module_menu = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<%% if ( this.hasOption( "copy" ) ) { %%>
<li><a class="et-pb-right-click-copy" href="#">%1$s</a></li>
esc_html__( 'Copy', 'et_builder' )
$paste_after_menu = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<%% if ( this.hasOption( "paste-after" ) ) { %%>
<li><a class="et-pb-right-click-paste-after" href="#">%1$s</a></li>
esc_html__( 'Paste After', 'et_builder' )
$paste_menu_item = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<%% if ( this.hasOption( "paste-column" ) ) { %%>
<li><a class="et-pb-right-click-paste-column" href="#">%1$s</a></li>
esc_html__( 'Paste', 'et_builder' )
$paste_app_menu_item = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<%% if ( this.hasOption( "paste-app" ) ) { %%>
<li><a class="et-pb-right-click-paste-app" href="#">%1$s</a></li>
esc_html__( 'Paste', 'et_builder' )
$save_to_lib_menu = et_pb_is_allowed( 'divi_library' ) && et_pb_is_allowed( 'save_library' ) ? sprintf(
'<%% if ( this.hasOption( "save-to-library") ) { %%>
<li><a class="et-pb-right-click-save-to-library" href="#">%1$s</a></li>
esc_html__( 'Save to Library', 'et_builder' )
$lock_unlock_menu = et_pb_is_allowed( 'lock_module' ) ? sprintf(
'<%% if ( this.hasOption( "lock" ) ) { %%>
<li><a class="et-pb-right-click-lock" href="#"><span class="unlock">%1$s</span><span class="lock">%2$s</span></a></li>
esc_html__( 'Unlock', 'et_builder' ),
esc_html__( 'Lock', 'et_builder' )
$enable_disable_menu = et_pb_is_allowed( 'disable_module' ) ? sprintf(
'<%% if ( this.hasOption( "disable" ) ) { %%>
<li><a class="et-pb-right-click-disable" href="#"><span class="enable">%1$s</span><span class="disable">%2$s</span></a>
<span class="et_pb_disable_on_options"><span class="et_pb_disable_on_option et_pb_disable_on_phone"></span><span class="et_pb_disable_on_option et_pb_disable_on_tablet"></span><span class="et_pb_disable_on_option et_pb_disable_on_desktop"></span></span>
esc_html__( 'Enable', 'et_builder' ),
esc_html__( 'Disable', 'et_builder' )
// Hide AB Testing menu if current post is Divi Library.
$is_divi_library = 'et_pb_layout' === $post->post_type;
$start_ab_testing_menu = et_pb_is_allowed( 'ab_testing' ) && ! $is_divi_library ? sprintf(
'<%% if ( this.hasOption( "start-ab-testing") ) { %%>
<li><a class="et-pb-right-click-start-ab-testing" href="#">%1$s</a></li>
esc_html__( 'Split Test', 'et_builder' )
$end_ab_testing_menu = et_pb_is_allowed( 'ab_testing' ) && ! $is_divi_library ? sprintf(
'<%% if ( this.hasOption( "end-ab-testing") ) { %%>
<li><a class="et-pb-right-click-end-ab-testing" href="#">%1$s</a></li>
esc_html__( 'End Split Test', 'et_builder' )
$disable_global_menu = et_pb_is_allowed( 'edit_module' ) && et_pb_is_allowed( 'edit_global_library' ) ? sprintf(
'<%% if ( this.hasOption( "disable-global") ) { %%>
<li><a class="et-pb-right-click-disable-global" href="#">%1$s</a></li>
esc_html__( 'Disable Global', 'et_builder' )
// Right click options Template
'<script type="text/template" id="et-builder-right-click-controls-template">
<%% if ( "module" !== this.options.model.attributes.type || _.contains( %13$s, this.options.model.attributes.module_type ) ) { %%>
<%% if ( this.hasOption( "undo" ) ) { %%>
<li><a class="et-pb-right-click-undo" href="#">%9$s</a></li>
<%% if ( this.hasOption( "redo" ) ) { %%>
<li><a class="et-pb-right-click-redo" href="#">%10$s</a></li>
<%% if ( this.hasOption( "collapse" ) ) { %%>
<li><a class="et-pb-right-click-collapse" href="#"><span class="expand">%4$s</span><span class="collapse">%5$s</span></a></li>