/** * Render the shortcode * @param array $args Shortcode paramters * @param string $content Content between shortcode * @return string HTML output */ function render($args, $content = '') { $defaults = Magee_Core::set_shortcode_defaults(array('id' => '', 'class' => '', 'style' => 'normal', 'link' => '#', 'size' => 'middle', 'shape' => '', 'shadow' => 'no', 'block' => 'no', 'target' => '_blank', 'gradient' => 'no', 'color' => '', 'text_color' => '', 'icon' => '', 'icon_animation_type' => '', 'border_width' => 2), $args); extract($defaults); self::$args = $defaults; $class .= ' magee-btn-normal'; $css_style = ' .magee-btn-normal,.magee-btn-normal:hover{text-decoration:none !important;}'; $add_class = uniqid('button-'); $class .= ' ' . $add_class; if ($shape != '') { $class .= ' btn-' . $shape; } $border_width = str_replace('px', '', $border_width); if ($shadow == 'yes') { $class .= ' btn-text-shadow'; } if ($block == 'yes') { $class .= ' btn-block'; } if ($gradient == 'yes') { $class .= ' btn-gradient'; } switch ($size) { case "small": $class .= ' btn-sm'; break; case "medium": $class .= ' btn-md'; break; case "large": $class .= ' btn-lg'; break; case "xlarge": $class .= ' btn-xl'; break; } switch ($style) { case "dark": $class .= ' btn-dark'; break; case "light": $class .= ' btn-light'; break; case "2d": $class .= ' btn-2d'; break; case "3d": $class .= ' btn-3d'; break; case "line": $class .= ' btn-line'; if (is_numeric($border_width)) { $css_style .= 'a.' . $add_class . ' {border-width:' . $border_width . 'px !important;}'; } break; case "line_dark": $class .= ' btn-line btn-dark'; $css_style .= 'a.' . $add_class . ' {border-width:' . $border_width . 'px !important;}'; break; case "line_light": $class .= ' btn-line btn-light'; $css_style .= 'a.' . $add_class . ' {border-width:' . $border_width . 'px !important;}'; break; } if ($icon != '') { $animated = ''; if ($icon_animation_type != '') { $animated = 'animated infinite ' . $icon_animation_type; } $content = '<i class="fa ' . $icon . ' ' . $animated . '"></i> ' . $content; } if ($text_color != '') { $css_style .= 'a.' . $add_class . ',a.' . $add_class . ':hover{color:' . $text_color . ';}'; $css_style .= 'a.' . $add_class . ' {color: ' . $text_color . ' !important;border-color: ' . $text_color . ' !important;}'; } if ($color != '') { switch ($style) { case "normal": case "2d": $css_style .= 'a.' . $add_class . ' {background-color:' . $color . ' !important;}'; $css_style .= 'a.' . $add_class . ':active, a.' . $add_class . ':hover, a.' . $add_class . ':focus {background-color:' . Magee_Core::colourBrightness($color, -0.9) . ' !important;}'; break; case "3d": $css_style .= 'a.' . $add_class . ' {background-color:' . $color . ';box-shadow: 0 3px 0 0 ' . Magee_Core::colourBrightness($color, -0.6) . ' !important;}'; $css_style .= 'a.' . $add_class . ':active, a.' . $add_class . ':hover, a.' . $add_class . ':focus {background-color:' . Magee_Core::colourBrightness($color, -0.9) . ' !important;}'; break; case "dark": case "light": $css_style .= 'a.' . $add_class . ' {background-color:' . $color . '!important;}'; $css_style .= 'a.' . $add_class . ':active, a.' . $add_class . ':hover, a.' . $add_class . ':focus {background-color:' . Magee_Core::colourBrightness($color, -0.9) . ' !important;}'; break; case "line": case "line_dark": case "line_light": $css_style .= 'a.' . $add_class . ':active, a.' . $add_class . ':hover, a.' . $add_class . ':focus {background-color:' . $color . ' !important;}'; break; } } $html = '<style type="text/css">' . $css_style . '</style>'; $html .= sprintf('<a href="%s" target="%s" style="" class="%s" id="%s">%s</a>', esc_url($link), $target, $class, $id, do_shortcode(Magee_Core::fix_shortcodes($content))); return $html; }