Skip to content

Instantly share code, notes, and snippets.

@davebonds
Last active August 14, 2017 23:44
Show Gist options
  • Save davebonds/7ce28c21180aa1416e1082b2e059c198 to your computer and use it in GitHub Desktop.
Save davebonds/7ce28c21180aa1416e1082b2e059c198 to your computer and use it in GitHub Desktop.
Filter default Beaver Builder global settings and add our own
<?php
/*
* Filter default global settings and add our own
*/
add_filter( 'fl_builder_register_settings_form', 'tk_designer_register_global_settings_form', 10, 2 );
function tk_designer_register_global_settings_form($form, $id) {
if ( 'global' == $id ) {
$newform =
array(
'title' => __( 'Global Settings', 'fl-builder' ),
'tabs' => array(
'general' => array(
'title' => __('General', 'fl-builder'),
'description' => __('<strong>Note</strong>: These settings apply to all posts and pages.', 'fl-builder'),
'sections' => array(
'site_header' => array(
'title' => 'Default Site Header',
'fields' => array(
'show_site_header' => array(
'type' => 'select',
'label' => _x( 'Show', 'Show site header?', 'fl-builder' ),
'default' => '1',
'options' => array(
'0' => __('No', 'fl-builder'),
'1' => __('Yes', 'fl-builder')
),
'help' => __('Choosing no will hide the default site header.', 'fl-builder')
)
)
),
'site_navigation' => array(
'title' => 'Default Site Navigation',
'fields' => array(
'show_site_navigation' => array(
'type' => 'select',
'label' => _x( 'Show', 'Show site navigation?', 'fl-builder' ),
'default' => '1',
'options' => array(
'0' => __('No', 'fl-builder'),
'1' => __('Yes', 'fl-builder')
),
'help' => __('Choosing no will hide the default site navigation.', 'fl-builder')
)
)
),
'site_sidebar' => array(
'title' => 'Default Site Sidebar',
'fields' => array(
'show_site_sidebar' => array(
'type' => 'select',
'label' => _x( 'Show', 'Show site sidebar?', 'fl-builder' ),
'default' => '1',
'options' => array(
'0' => __('No', 'fl-builder'),
'1' => __('Yes', 'fl-builder')
),
'help' => __('Choosing no will hide the default site sidebar.', 'fl-builder')
)
)
),
'site_footer_widgets' => array(
'title' => 'Default Site Footer Widgets',
'fields' => array(
'show_site_footer_widgets' => array(
'type' => 'select',
'label' => _x( 'Show', 'Show site footer widgets?', 'fl-builder' ),
'default' => '1',
'options' => array(
'0' => __('No', 'fl-builder'),
'1' => __('Yes', 'fl-builder')
),
'help' => __('Choosing no will hide the default site footer widgets.', 'fl-builder')
)
)
),
'site_footer' => array(
'title' => 'Default Site Footer',
'fields' => array(
'show_site_footer' => array(
'type' => 'select',
'label' => _x( 'Show', 'Show site footer?', 'fl-builder' ),
'default' => '1',
'options' => array(
'0' => __('No', 'fl-builder'),
'1' => __('Yes', 'fl-builder')
),
'help' => __('Choosing no will hide the default site footer.', 'fl-builder')
)
)
),
'site_after_entry' => array(
'title' => 'After Entry Widget Area',
'fields' => array(
'show_site_after_entry' => array(
'type' => 'select',
'label' => _x( 'Show', 'Show after entry widget area?', 'fl-builder' ),
'default' => '0',
'options' => array(
'0' => __('No', 'fl-builder'),
'1' => __('Yes', 'fl-builder')
),
'help' => __('Choosing no will hide the widget area displayed after posts.', 'fl-builder')
)
)
),
'page_heading' => array(
'title' => __('Default Page Heading', 'fl-builder'),
'fields' => array(
'show_default_heading' => array(
'type' => 'select',
'label' => _x( 'Show', 'General settings form field label. Intended meaning: "Show page heading?"', 'fl-builder' ),
'default' => '0',
'options' => array(
'0' => __('No', 'fl-builder'),
'1' => __('Yes', 'fl-builder')
),
'toggle' => array(
'0' => array(
'fields' => array('default_heading_selector')
)
),
'help' => __('Choosing no will hide the default theme heading for the "Page" post type. You will also be required to enter some basic CSS for this to work if you choose no.', 'fl-builder'),
),
'default_heading_selector' => array(
'type' => 'text',
'label' => __('CSS Selector', 'fl-builder'),
'default' => '.content article .entry-header',
'help' => __('Enter a CSS selector for the default page heading to hide it.', 'fl-builder')
)
)
),
'rows' => array(
'title' => __('Rows', 'fl-builder'),
'fields' => array(
'row_margins' => array(
'type' => 'text',
'label' => __('Margins', 'fl-builder'),
'default' => '0',
'maxlength' => '3',
'size' => '5',
'description' => 'px'
),
'row_padding' => array(
'type' => 'text',
'label' => __('Padding', 'fl-builder'),
'default' => '20',
'maxlength' => '3',
'size' => '5',
'description' => 'px'
),
'row_width' => array(
'type' => 'text',
'label' => __('Max Width', 'fl-builder'),
'default' => '1140',
'maxlength' => '4',
'size' => '5',
'description' => 'px',
'help' => __('All rows will default to this width.', 'fl-builder')
),
'row_width_default' => array(
'type' => 'select',
'label' => __( 'Default Row Width', 'fl-builder' ),
'default' => 'fixed',
'options' => array(
'fixed' => __( 'Fixed', 'fl-builder' ),
'full' => __( 'Full Width', 'fl-builder' )
),
'toggle' => array(
'full' => array(
'fields' => array('row_content_width_default')
)
),
),
'row_content_width_default' => array(
'type' => 'select',
'label' => __( 'Default Row Content Width', 'fl-builder' ),
'default' => 'fixed',
'options' => array(
'fixed' => __( 'Fixed', 'fl-builder' ),
'full' => __( 'Full Width', 'fl-builder' )
),
)
)
),
'modules' => array(
'title' => __('Modules', 'fl-builder'),
'fields' => array(
'module_margins' => array(
'type' => 'text',
'label' => __('Margins', 'fl-builder'),
'default' => '20',
'maxlength' => '3',
'size' => '5',
'description' => 'px'
)
)
),
'responsive' => array(
'title' => __('Responsive Layout', 'fl-builder'),
'fields' => array(
'responsive_enabled' => array(
'type' => 'select',
'label' => _x( 'Enabled', 'General settings form field label. Intended meaning: "Responsive layout enabled?"', 'fl-builder' ),
'default' => '1',
'options' => array(
'0' => __('No', 'fl-builder'),
'1' => __('Yes', 'fl-builder')
),
'toggle' => array(
'1' => array(
'fields' => array('auto_spacing', 'responsive_breakpoint', 'medium_breakpoint')
)
)
),
'auto_spacing' => array(
'type' => 'select',
'label' => _x( 'Enable Auto Spacing', 'General settings form field label. Intended meaning: "Enable auto spacing for responsive layouts?"', 'fl-builder' ),
'default' => '1',
'options' => array(
'0' => __('No', 'fl-builder'),
'1' => __('Yes', 'fl-builder')
),
'help' => __('When auto spacing is enabled, the builder will automatically adjust the margins and padding in your layout once the small device breakpoint is reached. Most users will want to leave this enabled.', 'fl-builder')
),
'medium_breakpoint' => array(
'type' => 'text',
'label' => __('Medium Device Breakpoint', 'fl-builder'),
'default' => '992',
'maxlength' => '4',
'size' => '5',
'description' => 'px',
'help' => __('The browser width at which the layout will adjust for medium devices such as tablets.', 'fl-builder')
),
'responsive_breakpoint' => array(
'type' => 'text',
'label' => __('Small Device Breakpoint', 'fl-builder'),
'default' => '768',
'maxlength' => '4',
'size' => '5',
'description' => 'px',
'help' => __('The browser width at which the layout will adjust for small devices such as phones.', 'fl-builder')
)
)
)
)
),
'css' => array(
'title' => __('CSS', 'fl-builder'),
'sections' => array(
'css' => array(
'title' => '',
'fields' => array(
'css' => array(
'type' => 'code',
'label' => '',
'editor' => 'css',
'rows' => '19',
'preview' => array(
'type' => 'none'
)
)
)
)
)
),
'js' => array(
'title' => __('JavaScript', 'fl-builder'),
'sections' => array(
'js' => array(
'title' => '',
'fields' => array(
'js' => array(
'type' => 'code',
'label' => '',
'editor' => 'javascript',
'rows' => '19',
'preview' => array(
'type' => 'none'
)
)
)
)
)
)
)
);
}
return array_merge_recursive($form, $newform);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment