| Server IP : 213.186.33.4 / Your IP : 216.73.216.146 Web Server : Apache System : Linux webm005.cluster103.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64 User : karinebmkh ( 644538) PHP Version : 8.4.22 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/karinebmkh/www/wp-content/plugins/divi-pixel/includes/modules/ButtonGrid/ |
Upload File : |
<?php
class DIPI_ButtonGrid extends ET_Builder_Module
{
protected $module_credits = [
'module_uri' => 'https://divi-pixel.com/modules/button-grid',
'author' => 'Divi Pixel',
'author_uri' => 'https://divi-pixel.com',
];
public function init()
{
$this->icon_path = plugin_dir_path(__FILE__) . "dp-buttons.svg";
$this->slug = 'dipi_button_grid';
$this->vb_support = 'on';
$this->child_slug = 'dipi_button_grid_child';
$this->name = esc_html__('Pixel Button Grid', 'dipi-divi-pixel');
$this->main_css_element = '%%order_class%%.dipi_button_grid';
}
public function get_settings_modal_toggles()
{
return [
'general' => [
'toggles' => [
'flexbox' => esc_html__('Flex Settings', 'dipi-divi-pixel'),
],
],
'advanced' => [
'toggles' => [
'text_style' => esc_html__('Text Style', 'dipi-divi-pixel'),
]
]
];
}
public function get_custom_css_fields_config()
{
$fields = [];
return $fields;
}
public function get_fields()
{
$fields = [];
$fields['flex_direction'] = [
'label' => esc_html__( 'Flex Direction', 'dipi-divi-pixel'),
'type' => 'select',
'option_category' => 'configuration',
'default' => 'column',
'options' => [
'column' => esc_html__('Column', 'dipi-divi-pixel'),
'row' => esc_html__('Row', 'dipi-divi-pixel'),
],
'mobile_options' => true,
'toggle_slug' => 'flexbox',
];
$fields['flex_wrap'] = [
'label' => esc_html__( 'Flex Wrap', 'dipi-divi-pixel'),
'type' => 'yes_no_button',
'option_category' => 'configuration',
'default' => 'on',
'options' => [
'on' => esc_html__( 'Yes', 'dipi-divi-pixel'),
'off' => esc_html__( 'No', 'dipi-divi-pixel'),
],
'mobile_options' => true,
'toggle_slug' => 'flexbox',
];
return $fields;
}
public function get_advanced_fields_config()
{
$advanced_fields = [];
$advanced_fields["text"] = false;
$advanced_fields["text_shadow"] = false;
$advanced_fields['margin_padding'] = [
'css' => [
'margin' => '%%order_class%%',
'padding' => '%%order_class%%',
'important' => 'all',
],
];
$advanced_fields['fonts']['text_style'] = [
'css' => [
'main' => "%%order_class%% .dipi-text-grid",
'important' => 'all',
],
'text_align' => [
'default' => 'left',
],
'font_size' => [
'default' => '1em',
'range_settings' => [
'min' => '0',
'max' => '40',
'step' => '1',
],
],
'line_height' => [
'default' => '1em',
'range_settings' => [
'min' => '0',
'max' => '10',
'step' => '1',
],
],
'toggle_slug' => 'text_style',
];
$advanced_fields['button']["button_grid"] = [
'label' => esc_html__('Button Style', 'dipi-divi-pixel'),
'css' => [
'main' => "%%order_class%% .dipi-button-grid",
'important' => 'all'
],
'hide_icon' => true,
'use_alignment' => false,
'box_shadow' => [
'css' => [
'main' => "%%order_class%% .dipi-button-grid",
],
],
'margin_padding' => [
'css' => [
'main' => "%%order_class%% .dipi-button-grid",
'important' => 'all',
],
],
];
return $advanced_fields;
}
public function render($attrs, $content = null, $render_slug)
{
\ET_Builder_Element::set_style($render_slug, array(
'selector' => '%%order_class%% .dipi-button-grid-container',
'declaration' => sprintf('flex-direction:%1$s !important;',
esc_html($this->props['flex_direction'])
),
));
if('on' == $this->props['flex_wrap']) :
\ET_Builder_Element::set_style($render_slug, array(
'selector' => '%%order_class%% .dipi-button-grid-container',
'declaration' => 'flex-wrap: wrap !important;'
));
endif;
$output = sprintf(
'<div class="dipi-button-grid-container">
%1$s
</div>',
et_core_sanitized_previously($this->content)
);
return $output;
}
}
new DIPI_ButtonGrid();