You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

72 lines
2.3 KiB

<?php if ( ! defined( 'WOODMART_THEME_DIR' ) ) {
exit( 'No direct script access allowed' );}
/**
* ------------------------------------------------------------------------------------------------
* Counter shortcode
* ------------------------------------------------------------------------------------------------
*/
if ( ! function_exists( 'woodmart_shortcode_animated_counter' ) ) {
function woodmart_shortcode_animated_counter( $atts ) {
$output = $label = $el_class = '';
extract(
shortcode_atts(
array(
'label' => '',
'value' => 100,
'time' => 1000,
'color_scheme' => '',
'color' => '',
'size' => 'default',
'font_weight' => 600,
'align' => 'center',
'css' => '',
'css_animation' => 'none',
'el_class' => '',
'woodmart_css_id' => '',
),
$atts
)
);
if ( ! $woodmart_css_id ) {
$woodmart_css_id = uniqid();
}
$counter_id = 'wd-' . $woodmart_css_id;
$el_class .= ' counter-' . $size;
$el_class .= ' text-' . $align;
$el_class .= ' color-scheme-' . $color_scheme;
$el_class .= woodmart_get_css_animation( $css_animation );
if ( function_exists( 'vc_shortcode_custom_css_class' ) ) {
$el_class .= ' ' . vc_shortcode_custom_css_class( $css );
}
woodmart_enqueue_js_library( 'waypoints' );
woodmart_enqueue_js_script( 'counter-element' );
woodmart_enqueue_inline_style( 'counter' );
ob_start();
?>
<div class="woodmart-counter wd-wpb <?php echo esc_attr( $el_class ); ?>" id="<?php echo esc_attr( $counter_id ); ?>">
<span class="counter-value wd-font-weight-<?php echo esc_attr( $font_weight ); ?>" data-state="new" data-final="<?php echo esc_attr( $value ); ?>"><?php echo esc_attr( $value ); ?></span>
<?php if ( $label != '' ) : ?>
<span class="counter-label"><?php echo esc_html( $label ); ?></span>
<?php endif ?>
<?php
if ( $color_scheme == 'custom' && $color && ! woodmart_is_css_encode( $color ) ) {
$css = '.woodmart-counter#' . esc_attr( $counter_id ) . '{';
$css .= 'color: ' . esc_attr( $color ) . ';';
$css .= '}';
wp_add_inline_style( 'woodmart-inline-css', $css );
}
?>
</div>
<?php
$output .= ob_get_clean();
return $output;
}
}