Файловый менеджер - Редактировать - /home/infrafs/INFRABIKEUS/wp-content/plugins/eltd-core/shortcodes/button/button.php
Назад
<?php namespace ElatedCore\CPT\Shortcodes\Button; use ElatedCore\Lib; class Button implements Lib\ShortcodeInterface { private $base; public function __construct() { $this->base = 'eltd_button'; add_action( 'vc_before_init', array( $this, 'vcMap' ) ); } public function getBase() { return $this->base; } public function vcMap() { if ( function_exists( 'vc_map' ) ) { vc_map( array( 'name' => esc_html__( 'Elated Button', 'eltd-core' ), 'base' => $this->base, 'category' => esc_html__( 'by ELATED', 'eltd-core' ), 'icon' => 'icon-wpb-button extended-custom-icon', 'allowed_container_element' => 'vc_row', 'params' => array_merge( array( array( 'type' => 'textfield', 'param_name' => 'custom_class', 'heading' => esc_html__( 'Custom CSS Class', 'eltd-core' ), 'description' => esc_html__( 'Style particular content element differently - add a class name and refer to it in custom CSS', 'eltd-core' ) ), array( 'type' => 'dropdown', 'param_name' => 'type', 'heading' => esc_html__( 'Type', 'eltd-core' ), 'value' => array( esc_html__( 'Solid', 'eltd-core' ) => 'solid', esc_html__( 'Outline', 'eltd-core' ) => 'outline', esc_html__( 'Simple', 'eltd-core' ) => 'simple' ), 'admin_label' => true ), array( 'type' => 'dropdown', 'param_name' => 'size', 'heading' => esc_html__( 'Size', 'eltd-core' ), 'value' => array( esc_html__( 'Default', 'eltd-core' ) => '', esc_html__( 'Small', 'eltd-core' ) => 'small', esc_html__( 'Medium', 'eltd-core' ) => 'medium', esc_html__( 'Large', 'eltd-core' ) => 'large', esc_html__( 'Huge', 'eltd-core' ) => 'huge' ), 'dependency' => array( 'element' => 'type', 'value' => array( 'solid', 'outline' ) ) ), array( 'type' => 'textfield', 'param_name' => 'text', 'heading' => esc_html__( 'Text', 'eltd-core' ), 'value' => esc_html__( 'Button Text', 'eltd-core' ), 'save_always' => true, 'admin_label' => true ), array( 'type' => 'textfield', 'param_name' => 'link', 'heading' => esc_html__( 'Link', 'eltd-core' ) ), array( 'type' => 'dropdown', 'param_name' => 'target', 'heading' => esc_html__( 'Link Target', 'eltd-core' ), 'value' => array_flip( trackstore_elated_get_link_target_array() ), 'save_always' => true ) ), trackstore_elated_icon_collections()->getVCParamsArray( array(), '', true ), array( array( 'type' => 'colorpicker', 'param_name' => 'color', 'heading' => esc_html__( 'Color', 'eltd-core' ), 'group' => esc_html__( 'Design Options', 'eltd-core' ) ), array( 'type' => 'colorpicker', 'param_name' => 'hover_color', 'heading' => esc_html__( 'Hover Color', 'eltd-core' ), 'group' => esc_html__( 'Design Options', 'eltd-core' ) ), array( 'type' => 'colorpicker', 'param_name' => 'background_color', 'heading' => esc_html__( 'Background Color', 'eltd-core' ), 'dependency' => array( 'element' => 'type', 'value' => array( 'solid' ) ), 'group' => esc_html__( 'Design Options', 'eltd-core' ) ), array( 'type' => 'colorpicker', 'param_name' => 'hover_background_color', 'heading' => esc_html__( 'Hover Background Color', 'eltd-core' ), 'dependency' => array( 'element' => 'type', 'value' => array( 'solid', 'outline' ) ), 'group' => esc_html__( 'Design Options', 'eltd-core' ) ), array( 'type' => 'colorpicker', 'param_name' => 'border_color', 'heading' => esc_html__( 'Border Color', 'eltd-core' ), 'dependency' => array( 'element' => 'type', 'value' => array( 'solid', 'outline' ) ), 'group' => esc_html__( 'Design Options', 'eltd-core' ) ), array( 'type' => 'colorpicker', 'param_name' => 'hover_border_color', 'heading' => esc_html__( 'Hover Border Color', 'eltd-core' ), 'dependency' => array( 'element' => 'type', 'value' => array( 'solid', 'outline' ) ), 'group' => esc_html__( 'Design Options', 'eltd-core' ) ), array( 'type' => 'textfield', 'param_name' => 'font_size', 'heading' => esc_html__( 'Font Size (px)', 'eltd-core' ), 'group' => esc_html__( 'Design Options', 'eltd-core' ) ), array( 'type' => 'textfield', 'param_name' => 'font_size_icon', 'heading' => esc_html__( 'Font Size (px)', 'eltd-core' ), 'group' => esc_html__( 'Design Options', 'eltd-core' ) ), array( 'type' => 'dropdown', 'param_name' => 'font_weight', 'heading' => esc_html__( 'Font Weight', 'eltd-core' ), 'value' => array_flip( trackstore_elated_get_font_weight_array( true ) ), 'save_always' => true, 'group' => esc_html__( 'Design Options', 'eltd-core' ) ), array( 'type' => 'dropdown', 'param_name' => 'text_transform', 'heading' => esc_html__( 'Text Transform', 'eltd-core' ), 'value' => array_flip( trackstore_elated_get_text_transform_array( true ) ), 'save_always' => true ), array( 'type' => 'textfield', 'param_name' => 'margin', 'heading' => esc_html__( 'Margin', 'eltd-core' ), 'description' => esc_html__( 'Insert margin in format: top right bottom left (e.g. 10px 5px 10px 5px)', 'eltd-core' ), 'group' => esc_html__( 'Design Options', 'eltd-core' ) ), array( 'type' => 'textfield', 'param_name' => 'padding', 'heading' => esc_html__( 'Button Padding', 'eltd-core' ), 'description' => esc_html__( 'Insert padding in format: top right bottom left (e.g. 10px 5px 10px 5px)', 'eltd-core' ), 'dependency' => array( 'element' => 'type', 'value' => array( 'solid', 'outline' ) ), 'group' => esc_html__( 'Design Options', 'eltd-core' ) ), array( 'type' => 'dropdown', 'param_name' => 'icon_position', 'heading' => esc_html__( 'Icon position', 'eltd-core' ), 'value' => array( esc_html__( 'Default', 'eltd-core' ) => '', esc_html__( 'Left', 'eltd-core' ) => 'left', esc_html__( 'Right', 'eltd-core' ) => 'right', ), 'group' => esc_html__( 'Design Options', 'eltd-core' ), 'dependency' => array( 'element' => 'icon_pack', 'value' => array( 'font_awesome', 'font_elegant', 'ion_icons', 'linea_icons', 'linear_icons', 'simple_line_icons', 'dripicons' ) ) ), array( 'type' => 'textfield', 'param_name' => 'icon_size', 'heading' => esc_html__( 'Icon Size (px)', 'eltd-core' ), 'group' => esc_html__( 'Design Options', 'eltd-core' ), 'dependency' => array( 'element' => 'icon_pack', 'value' => array( 'font_awesome', 'font_elegant', 'ion_icons', 'linea_icons', 'linear_icons', 'simple_line_icons', 'dripicons' ) ) ), ) ) ) ); } } public function render( $atts, $content = null ) { $default_atts = array( 'size' => '', 'type' => 'solid', 'text' => '', 'link' => '', 'target' => '_self', 'color' => '', 'hover_color' => '', 'background_color' => '', 'hover_background_color' => '', 'border_color' => '', 'hover_border_color' => '', 'font_size' => '', 'font_weight' => '', 'text_transform' => '', 'margin' => '', 'padding' => '', 'icon_position' => 'right', 'icon_size' => '', 'custom_class' => '', 'html_type' => 'anchor', 'input_name' => '', 'custom_attrs' => array() ); $default_atts = array_merge( $default_atts, trackstore_elated_icon_collections()->getShortcodeParams() ); $params = shortcode_atts( $default_atts, $atts ); if ( $params['html_type'] !== 'input' ) { $iconPackName = trackstore_elated_icon_collections()->getIconCollectionParamNameByKey( $params['icon_pack'] ); $params['icon'] = $iconPackName ? $params[ $iconPackName ] : ''; } $params['size'] = ! empty( $params['size'] ) ? $params['size'] : 'medium'; $params['type'] = ! empty( $params['type'] ) ? $params['type'] : 'solid'; $params['link'] = ! empty( $params['link'] ) ? $params['link'] : '#'; $params['target'] = ! empty( $params['target'] ) ? $params['target'] : $default_atts['target']; $params['button_classes'] = $this->getButtonClasses( $params ); $params['button_custom_attrs'] = ! empty( $params['custom_attrs'] ) ? $params['custom_attrs'] : array(); $params['button_styles'] = $this->getButtonStyles( $params ); $params['button_data'] = $this->getButtonDataAttr( $params ); $params['icon_styles'] = $this->getIconStyles( $params ); return eltd_core_get_shortcode_module_template_part( 'templates/' . $params['html_type'], 'button', '', $params ); } private function getButtonStyles( $params ) { $styles = array(); if ( ! empty( $params['color'] ) ) { $styles[] = 'color: ' . $params['color']; } if ( ! empty( $params['background_color'] ) && $params['type'] !== 'outline' ) { $styles[] = 'background-color: ' . $params['background_color']; } if ( ! empty( $params['border_color'] ) ) { $styles[] = 'border-color: ' . $params['border_color']; } if ( ! empty( $params['font_size'] ) ) { $styles[] = 'font-size: ' . trackstore_elated_filter_px( $params['font_size'] ) . 'px'; } if ( ! empty( $params['font_weight'] ) && $params['font_weight'] !== '' ) { $styles[] = 'font-weight: ' . $params['font_weight']; } if ( ! empty( $params['text_transform'] ) ) { $styles[] = 'text-transform: ' . $params['text_transform']; } if ( $params['margin'] !== '' ) { $styles[] = 'margin: ' . $params['margin']; } if ( $params['padding'] !== '' ) { $styles[] = 'padding: ' . $params['padding']; } return $styles; } private function getIconStyles( $params ) { $styles = array(); if ( ! empty( $params['icon_size'] ) ) { $styles[] = 'font-size: ' . trackstore_elated_filter_px( $params['icon_size'] ) . 'px'; } return $styles; } private function getButtonDataAttr( $params ) { $data = array(); if ( ! empty( $params['hover_color'] ) ) { $data['data-hover-color'] = $params['hover_color']; } if ( ! empty( $params['hover_background_color'] ) ) { $data['data-hover-bg-color'] = $params['hover_background_color']; } if ( ! empty( $params['hover_border_color'] ) ) { $data['data-hover-border-color'] = $params['hover_border_color']; } return $data; } private function getButtonClasses( $params ) { $buttonClasses = array( 'eltd-btn', 'eltd-btn-' . $params['size'], 'eltd-btn-' . $params['type'] ); if ( ! empty( $params['hover_background_color'] ) ) { $buttonClasses[] = 'eltd-btn-custom-hover-bg'; } if ( ! empty( $params['hover_border_color'] ) ) { $buttonClasses[] = 'eltd-btn-custom-border-hover'; } if ( ! empty( $params['hover_color'] ) ) { $buttonClasses[] = 'eltd-btn-custom-hover-color'; } if ( ! empty( $params['icon'] ) ) { $buttonClasses[] = 'eltd-btn-icon'; } if ( ! empty( $params['custom_class'] ) ) { $buttonClasses[] = esc_attr( $params['custom_class'] ); } if ( ! empty( $params['icon_position'] ) ) { $buttonClasses[] = 'eltd-btn-icon-position-' . $params['icon_position'] ; } return $buttonClasses; } }
| ver. 1.4 |
Github
|
.
| PHP 8.2.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка