$button_url = vcex_get_link_data('url', $button_url_temp); if ($button_url) { $button_title = vcex_get_link_data('title', $button_url_temp); $button_target = vcex_get_link_data('target', $button_url_temp); $button_target = vcex_html('target_attr', $button_target); } } // Button Icons, Classes & Style if ($button_url || $custom_button) { // Button Wrap Style $button_wrap_style = vcex_inline_style(array('padding' => $button_wrap_padding, 'border' => $button_wrap_border, 'background' => $button_wrap_bg)); // VCEX button styles if ($button_url) { // Get correct icon classes $button_icon_left = vcex_get_icon_class($atts, 'button_icon_left'); $button_icon_right = vcex_get_icon_class($atts, 'button_icon_right'); if ($button_icon_left || $button_icon_right) { vcex_enqueue_icon_font($icon_type); } // Button Classes $button_classes = array('theme-button', 'animate-on-hover'); if ('true' == $button_local_scroll) { $button_classes[] = 'local-scroll-link'; } if ($button_style) { $button_classes[] = $button_style; } if ($button_style_color) { $button_classes[] = $button_style_color; } if ($button_transform) {
$padding = isset($atts['padding']) ? $atts['padding'] : ''; $background = isset($atts['background']) ? $atts['background'] : ''; $background_image = isset($atts['background_image']) ? $atts['background_image'] : ''; $margin_bottom = isset($atts['margin_bottom']) ? $atts['margin_bottom'] : ''; $border_color = isset($atts['border_color']) ? $atts['border_color'] : ''; // Get and extract shortcode attributes $atts = vc_map_get_attributes($this->getShortcode(), $atts); extract($atts); // Sanitize data & declare main vars $url = esc_url($url); $inline_js = array(); $css_wrap_classes = array('vcex-icon-box-css-wrap'); $clickable_boxes = array('four', 'five', 'six'); $url_wrap = in_array($style, $clickable_boxes) ? 'true' : $url_wrap; $image = $image ? wp_get_attachment_url($image) : ''; $icon = $image ? '' : vcex_get_icon_class($atts, 'icon'); $heading_type = $heading_type ? $heading_type : 'h2'; // Match Height Inline JS if (vc_is_inline() && false !== strpos($classes, 'equal-height-content')) { $inline_js[] = 'equal_height_content'; } // Icon functions if ($icon) { // Load icon family CSS vcex_enqueue_icon_font($icon_type); // Icon Style $icon_style = array(); $icon_style['color'] = $icon_color; $icon_style['width'] = $icon_width; $icon_style['font_size'] = $icon_size; $icon_style['border_radius'] = $icon_border_radius;
$wrap_classes['wpex-data-hover'] = 'wpex-data-hover'; } $wrap_classes[] = 'transition-all'; $wrap_data[] = 'data-hover-background="' . $background_hover . '"'; } if ('true' == $hover_white_text) { $wrap_classes[] = 'wpex-hover-white-text'; } // Inline js if ($color_hover || $background_hover) { vcex_inline_js('data_hover'); } // Inner style $inner_style_attr = vcex_inline_style(array('border_color' => $inner_bottom_border_color)); // Icon output if ($icon = vcex_get_icon_class($atts, 'icon')) { // Enqueue needed icon font if ('fontawesome' != $icon_type) { vcex_enqueue_icon_font($icon_type); } // Icon style $icon_style_attr = vcex_inline_style(array('color' => $icon_color)); // Icon output $icon_output = '<div class="vcex-icon-wrap vcex-icon-position-' . $icon_position . '"' . $icon_style_attr . '><span class="' . $icon . '"></span></div>'; // Add icon to heading if ('left' == $icon_position) { $icon_left = $icon_output; } else { $icon_right = $icon_output; } }
// Custom hovers if ($custom_hover_background || $custom_hover_color) { if ($custom_hover_background) { $data_attr[] = 'data-hover-background="' . $custom_hover_background . '"'; } if ($custom_hover_color) { $data_attr[] = 'data-hover-color="' . $custom_hover_color . '"'; } if ($data_attr) { $button_classes[] = 'wpex-data-hover'; } $inline_js[] = 'data_hover'; } // Define button icon_classes $icon_left = vcex_get_icon_class($atts, 'icon_left'); $icon_right = vcex_get_icon_class($atts, 'icon_right'); // Icon left style if ($icon_left) { $icon_left_style = vcex_inline_style(array('margin_right' => $icon_left_padding)); } // Icon right style if ($icon_right) { $icon_right_style = vcex_inline_style(array('margin_left' => $icon_right_padding)); } // Load icon fonts if needed if ($icon_left || $icon_right) { vcex_enqueue_icon_font($icon_type); } // Load inline js vcex_inline_js($inline_js); // Turn arrays into strings