render_title();
$subtitle = $this->render_subtitle();
$separator = $this->render_separator();
$shadow = $this->render_shadow();
$description = $this->render_description();
$float_left = 'yes' === $this->attribute['sg_title_float_left'];
$separator_position = $this->attribute['sg_separator_position'];
$desktop_alignment = isset( $this->attribute['st_general_alignment_responsive'] ) ? esc_attr( $this->attribute['st_general_alignment_responsive'] ) : '';
$tablet_alignment = isset( $this->attribute['st_general_alignment_responsive_tablet'] ) ? esc_attr( $this->attribute['st_general_alignment_responsive_tablet'] ) : '';
$mobile_alignment = isset( $this->attribute['st_general_alignment_responsive_mobile'] ) ? esc_attr( $this->attribute['st_general_alignment_responsive_mobile'] ) : '';
if ( $float_left ) {
$class = 'title-float-left';
if ( 'top' === $separator_position || 'before' === $separator_position ) {
$title = $separator . $title;
} else {
$title = $title . $separator;
}
$content = '
' . $title . '
' . $subtitle . $description . '
';
} else {
$subtitle_position = $this->attribute['sg_subtitle_position'];
if ( 'before' === $separator_position || 'after' === $separator_position ) {
if ( 'before' === $separator_position ) {
$title = $separator . $title;
} else {
$title = $title . $separator;
}
if ( 'before' === $subtitle_position ) {
$title = $subtitle . $title;
} else {
$title = $title . $subtitle;
}
$content = $title . $description;
} else {
if ( 'before' === $subtitle_position ) {
$title = $subtitle . $title;
} else {
$title = $title . $subtitle;
}
if ( 'top' === $separator_position ) {
$content = $separator . $title . $description;
} else {
$content = $title . $description . $separator;
}
}
}
return $this->render_wrapper( 'heading', $shadow . $content, array( $class, 'align-' . $desktop_alignment, 'align-tablet-' . $tablet_alignment, 'align-mobile-' . $mobile_alignment ) );
}
/**
* Render Title
*
* @return mixed
*/
private function render_title() {
$title = '';
$class = '';
$content = '';
if ( 'highlight' === $this->attribute['sg_title_concept'] ) {
$title = esc_attr( $this->attribute['sg_title_text'] );
$focused_class = 'style-' . esc_attr( $this->attribute['st_focused_color_style'] );
$title = str_replace( '{{', '', $title );
$title = str_replace( '}}', '', $title );
$content = $title;
} else {
$before = esc_attr( $this->attribute['sg_title_before'] );
$focused = esc_attr( $this->attribute['sg_title_focused'] );
$after = esc_attr( $this->attribute['sg_title_after'] );
if ( ! empty( $focused ) ) {
$focused_class = 'style-' . esc_attr( $this->attribute['st_focused_color_style'] );
$focused = '' . $focused . '';
}
$content = $before . $focused . $after;
}
$html_tag = \Elementor\Utils::validate_html_tag( $this->attribute['sg_title_html_tag'] );
$border_enable = 'yes' === $this->attribute['sg_title_border_enable'];
if ( $border_enable ) {
$position = esc_attr( $this->attribute['sg_title_border_position'] );
$class = 'border-enable ' . $position;
}
$focused_title_display = $this->attribute['sg_title_focused_title_display'];
if ( ! empty( $focused_title_display ) ) {
$class .= ' display-' . $focused_title_display;
}
$title = '<' . $html_tag . ' class="heading-title">' . $content . '' . $html_tag . '>
';
return wp_kses_post( $title );
}
/**
* Render Subtitle
*
* @return mixed
*/
private function render_subtitle() {
$content = '';
$class = '';
$enable = 'yes' === $this->attribute['sg_subtitle_enable'];
if ( $enable ) {
$html_tag = \Elementor\Utils::validate_html_tag( $this->attribute['sg_subtitle_html_tag'] );
$subtitle = esc_attr( $this->attribute['sg_subtitle_heading'] );
$color_style = esc_attr( $this->attribute['st_subtitle_color_style'] );
$outline_enable = 'yes' === $this->attribute['sg_subtitle_outline_enable'];
$border_enable = 'yes' === $this->attribute['sg_subtitle_border_enable'];
if ( $outline_enable ) {
$class = 'outline-enable';
}
if ( $border_enable ) {
$class = 'border-enable';
}
$class .= ' style-' . $color_style;
if ( ! empty( $subtitle ) ) {
$content = '<' . $html_tag . ' class="heading-section-subtitle ' . $class . '">' . $subtitle . '' . $html_tag . '>';
}
}
return $content;
}
/**
* Render Description
*
* @return mixed
*/
private function render_description() {
$content = '';
$enable = 'yes' === $this->attribute['sg_description_enable'];
if ( $enable ) {
$description = wp_kses_post( $this->attribute['sg_description'] );
$content = '' . $description . '
';
}
return $content;
}
/**
* Render Separator
*
* @return mixed
*/
private function render_separator() {
$content = '';
$enable = 'yes' === $this->attribute['sg_separator_enable'];
if ( $enable ) {
$image_separator = null;
$style = esc_attr( $this->attribute['sg_separator_style'] );
if ( 'custom' === $style ) {
$image_size = $this->attribute['sg_separator_image_size_imagesize_size'];
$image_separator = $this->render_image_element( $this->attribute['sg_separator_image'], $image_size );
}
$content = '';
}
return $content;
}
/**
* Render Shadow
*
* @return mixed
*/
private function render_shadow() {
$content = '';
$enable = 'yes' === $this->attribute['sg_shadow_enable'];
if ( $enable ) {
$shadow = esc_attr( $this->attribute['sg_shadow_content'] );
$content = '' . $shadow . '';
}
return $content;
}
}