protected function render()
{
$settings = $this->get_settings();
if (empty($settings['title'])) {
return;
}
$this->add_render_attribute('heading', 'class', 'elementor-heading-title');
if (!empty($settings['size'])) {
$this->add_render_attribute('heading', 'class', 'elementor-size-' . $settings['size']);
}
if (!empty($settings['link']['url'])) {
$target = $settings['link']['is_external'] ? ' target="_blank"' : '';
$url = sprintf('<a href="%s"%s>%s</a>', $settings['link']['url'], $target, $settings['title']);
$title_html = sprintf('<%1$s %2$s>%3$s</%1$s>', $settings['header_size'], $this->get_render_attribute_string('heading'), $url);
} else {
$title_html = sprintf('<%1$s %2$s>%3$s</%1$s>', $settings['header_size'], $this->get_render_attribute_string('heading'), $settings['title']);
}
echo $title_html;
}