Skip to content

Instantly share code, notes, and snippets.

@fastlinemedia
fastlinemedia / gist:18b2b85686ee8aa37540
Created January 5, 2015 18:14
WordPress Customizer Export/Import Install Control
<?php
/**
* @class Export_Import_Install_Control
*/
final class Export_Import_Install_Control extends WP_Customize_Control {
/**
* @method render_content
* @protected
@fastlinemedia
fastlinemedia / functions.php
Last active August 11, 2020 10:44
Import WordPress Customizer settings when a theme is activated.
/**
* This function assumes you have a Customizer export file in your theme directory
* at 'data/customizer.dat'. That file must be created using the Customizer Export/Import
* plugin found here... https://wordpress.org/plugins/customizer-export-import/
*/
function import_customizer_settings()
{
// Check to see if the settings have already been imported.
$template = get_template();
$imported = get_option( $template . '_customizer_import', false );
@fastlinemedia
fastlinemedia / fl-gallery-grid-override.js
Created February 22, 2016 18:55
Override the FLBuilderGalleryGrid resize method to set a custom number of columns or adjust the 480px breakpoint.
@fastlinemedia
fastlinemedia / custom-hooks.php
Created May 16, 2017 04:16
Adding custom hooks for parts to Beaver Themer.
function my_theme_register_part_hooks( $parts ) {
$parts[] = array(
'label' => 'Custom Hooks',
'hooks' => array(
'genesis_after_before-footer_widget_area' => 'Before Footer Widgets',
)
);
return $parts;
}
add_filter( 'fl_theme_builder_part_hooks', 'my_theme_register_part_hooks', 11 );
@fastlinemedia
fastlinemedia / shortcodes_in_html_attrs.php
Created May 30, 2017 23:40
Parses the specified shortcodes in Beaver Builder content that have been placed in HTML attrs as WordPress won't parse those.
add_filter( 'fl_builder_before_render_shortcodes', function( $content ) {
$shortcodes = array( 'field' ); // add other shortcodes here if needed
$pattern = get_shortcode_regex( $shortcodes );
$content = preg_replace_callback( "/$pattern/", 'do_shortcode_tag', $content );
return $content;
} );
@fastlinemedia
fastlinemedia / fl_builder_icon_sets.php
Created July 24, 2017 23:01
Using the fl_builder_icon_sets filter to add custom icon fonts to Beaver Builder
function my_custom_icons( $sets ) {
$path = get_stylesheet_directory() . '/my-custom-icons/';
$url = get_stylesheet_directory_uri() . '/my-custom-icons/';
$data = json_decode( file_get_contents( $path . 'selection.json' ) );
$icons = array();
foreach ( $data->icons as $icon ) {
$prefs = $data->preferences->fontPref;
@fastlinemedia
fastlinemedia / disable-html-module-render.php
Created September 19, 2017 16:47
Disable HTML module rendering when in the Beaver Builder UI.
add_filter( 'fl_builder_render_module_content', function( $content, $module ) {
if ( 'html' === $module->settings->type && FLBuilderModel::is_builder_active() ) {
$content = 'HTML rendering disabled in the builder.';
}
return $content;
}, 10, 2 );
@fastlinemedia
fastlinemedia / node-field-config-example.php
Last active September 1, 2021 19:41
This is an example of looping over the Beaver Builder node data and pulling the field config for each node. You can then use that config to loop over the node settings and check what type of field the setting is.
<?php
/**
* Get the field config for a node.
*
* @param object $node
* @return array|null
*/
function wpsitesync_get_beaver_builder_fields( $node ) {
if ( 'row' === $node->type ) {
@fastlinemedia
fastlinemedia / acf-repeater-shortcodes.html
Created March 27, 2018 00:56
ACF repeater and flexible content shortcodes for Beaver Themer
<!-- Repeater with a nested repeater. -->
[wpbb-acf-repeater name='my_repeater']
<p>[wpbb post:acf type='text' name='sub_field_text']</p>
[wpbb-acf-nested-repeater name='nested_repeater']
<p>[wpbb post:acf type='text' name='nested_sub_field_text']</p>
<?php
function px_field_distance() {
$field = array(
'type' => 'select',
'label' => __( 'My Label', 'fl-builder' ),
'default' => '0',
'options' => array(
'0' => __( 'Option 1', 'fl-builder' ),
'1' => __( 'Option 2', 'fl-builder' )