public static function title_box($atts = null, $content = null) { $atts = shortcode_atts(array('title' => '', 'subtitle' => '', 'icon' => '', 'icon_size' => 20, 'icon_color' => '', 'title_color' => '', 'subtitle_color' => '', 'class' => ''), $atts, 'title_box'); if (!$atts['title']) { return; } $format = apply_filters('cherry_shortcodes_title_box_format', array('global' => '<div class="title-box %4$s">%3$s<div class="title-box_content"><h2 class="title-box_title">%1$s</h2>%2$s</div>%5$s</div>', 'subtitle' => '<h4 class="title-box_subtitle">%s</h4>'), $atts); $style = array(); $style['font-size'] = 0 != absint($atts['icon_size']) ? absint($atts['icon_size']) . 'px' : false; $style['color'] = !empty($atts['icon_color']) ? esc_attr($atts['icon_color']) : false; $icon = Cherry_Shortcodes_Tools::get_icon_html($atts['icon'], 'title-box_icon', $atts['title'], $style); $uniq_class = 'title-box_' . rand(1000, 9999); $title_color = esc_attr($atts['title_color']); $subtitle_color = esc_attr($atts['subtitle_color']); $title_style = '<style>'; if ($title_color) { $title_style .= '.' . $uniq_class . ' .title-box_title { color: ' . $title_color . '; }'; } if ($subtitle_color) { $title_style .= '.' . $uniq_class . ' .title-box_subtitle { color: ' . $subtitle_color . '; }'; } $title_style .= '</style>'; $title = wp_kses($atts['title'], 'default'); $subtitle = !empty($atts['subtitle']) ? sprintf($format['subtitle'], wp_kses($atts['subtitle'], 'default')) : ''; $class = esc_attr($atts['class'] . ' ' . $uniq_class); $output = sprintf($format['global'], $title, $subtitle, $icon, $class, $title_style); return apply_filters('cherry_shortcodes_output', $output, $atts, 'title_box'); }
/** * Builds the Title Box shortcode output. * * @since 1.0.0 * @param array $atts Attributes of the title box shortcode. * @param string $content Shortcode content. * @return string HTML content to display the title box. */ public static function title_box($atts = null, $content = null) { $atts = shortcode_atts(array('title' => '', 'subtitle' => '', 'icon' => '', 'icon_size' => 20, 'icon_color' => '', 'title_color' => '', 'subtitle_color' => '', 'class' => ''), $atts, 'title_box'); if (!$atts['title']) { return; } $format = apply_filters('cherry_shortcodes_title_box_format', array('global' => '<div class="%4$s">%3$s<div class="title-box_content"><h2 class="title-box_title">%1$s</h2>%2$s</div></div>', 'subtitle' => '<h4 class="title-box_subtitle">%s</h4>'), $atts); $style = array(); $style['font-size'] = 0 != absint($atts['icon_size']) ? absint($atts['icon_size']) . 'px' : false; $style['color'] = !empty($atts['icon_color']) ? esc_attr($atts['icon_color']) : false; $icon = Cherry_Shortcodes_Tools::get_icon_html($atts['icon'], 'title-box_icon', $atts['title'], $style); $uniq_class = Cherry_Shortcodes_Tools::rand_class('title_box'); $title_color = esc_attr($atts['title_color']); $subtitle_color = esc_attr($atts['subtitle_color']); $title_style = ''; if ($title_color) { $title_style .= $uniq_class . ' .title-box_title { color: ' . $title_color . '; }'; } if ($subtitle_color) { $title_style .= $uniq_class . ' .title-box_subtitle { color: ' . $subtitle_color . '; }'; } $output = Cherry_Shortcodes_Tools::print_styles($title_style); $title = wp_kses($atts['title'], 'default'); $subtitle = !empty($atts['subtitle']) ? sprintf($format['subtitle'], wp_kses($atts['subtitle'], 'default')) : ''; $classes[] = 'title-box'; $classes[] = $atts['class']; $classes[] = Cherry_Shortcodes_Tools::esc_class($uniq_class); $class = implode(' ', array_filter($classes)); // Empty 5-th arguments for backward compatibility. $depraceted = ''; $output .= sprintf($format['global'], $title, $subtitle, $icon, $class, $depraceted); return apply_filters('cherry_shortcodes_output', $output, $atts, 'title_box'); }