File "class-extend.php"
Full path: /home/dora/public_html/wp-content/plugins/wp-grid-builder-bricks/includes/class-extend.php
File size: 1.91 KB
MIME-type: --
Charset: utf-8
<?php
/**
* Extend module controls
*
* @package WP Grid Builder - Bricks
* @author Loïc Blascos
* @copyright 2019-2022 Loïc Blascos
*/
namespace WP_Grid_Builder_Bricks\Includes;
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Extend
*
* @class WP_Grid_Builder_Bricks\Includes\Extend
* @since 1.0.0
*/
final class Extend {
/**
* Constructor
*
* @since 1.0.0
* @access public
*/
public function __construct() {
$providers = apply_filters( 'wp_grid_builder_bricks/providers', [] );
foreach ( $providers as $provider => $class ) {
add_filter( 'bricks/elements/' . $provider . '/control_groups', [ $this, 'add_control_group' ], 10, 2 );
add_filter( 'bricks/elements/' . $provider . '/controls', [ $this, 'add_controls' ], 10, 2 );
}
}
/**
* Add control groups to providers
*
* @since 1.0.0
* @access public
*
* @param array $control_groups Hold control groups.
* @return array
*/
public function add_control_group( $control_groups ) {
$control_groups['wp_grid_builder'] = [
'tab' => 'content',
'title' => esc_html__( 'WP Grid Builder', 'wpgb-bricks' ),
'required' => [ 'hasLoop', '=', true ],
];
return $control_groups;
}
/**
* Add controls to providers
*
* @since 1.0.0
* @access public
*
* @param array $controls Hold controls.
* @return array
*/
public function add_controls( $controls ) {
$controls['wpgb_fading'] = [
'tab' => 'content',
'group' => 'wp_grid_builder',
'label' => __( 'Fading Animation', 'wpgb-bricks' ),
'type' => 'checkbox',
'inline' => true,
'small' => true,
'default' => false,
'css' => [
[
'selector' => '',
'property' => 'transition',
'value' => 'opacity 0.35s ease',
],
[
'selector' => '&.wpgb-loading',
'property' => 'opacity',
'value' => '0.35',
],
],
];
return $controls;
}
}