File: /home/thuexe247c/public_html/wp-content/themes/flatsome/inc/shortcodes/scroll_to.php
<?php
/**
* Registers the `scroll_to` shortcode.
*
* @package flatsome
*/
/**
* Renders the `scroll_to` shortcode.
*
* @param array $atts An array of attributes.
* @param string $content The shortcode content.
* @param string $tag The name of the shortcode, provided for context to enable filtering.
*
* @return string
*/
function flatsome_scroll_to( $atts, $content = null, $tag = '' ) {
$atts = shortcode_atts( array(
'bullet' => 'true',
'title' => 'Change this',
'link' => '',
'offset_type' => '',
'offset' => '0',
), $atts, $tag );
if ( ! $atts['title'] && ! $atts['link'] ) {
return false;
}
// Convert title to link if link is not set.
if ( ! $atts['link'] ) {
$atts['link'] = flatsome_to_dashed( $atts['title'] );
}
if ( substr( $atts['link'], 0, 1 ) !== '#' ) {
$atts['link'] = '#' . $atts['link'];
}
$element_atts = array(
'class' => 'scroll-to',
'data-label' => esc_attr( 'Scroll to: ' . $atts['link'] ),
'data-bullet' => esc_attr( $atts['bullet'] ),
'data-link' => esc_attr( $atts['link'] ),
'data-title' => esc_attr( $atts['title'] ),
);
if ( $atts['offset_type'] === 'custom' ) {
$element_atts['data-offset-type'] = $atts['offset_type'];
$element_atts['data-offset'] = esc_attr( $atts['offset'] );
}
return sprintf( '<span %s><a name="%s"></a></span>',
flatsome_html_atts( $element_atts ),
esc_attr( str_replace( '#', '', $atts['link'] ) )
);
}
add_shortcode( 'scroll_to', 'flatsome_scroll_to' );