PATH:
home
/
letacommog
/
vizeo
/
wp-content
/
themes
/
dt-the7
/
inc
/
shortcodes
/
includes
/
shortcode-teasers
<?php /** * Teaser shortcode. * */ // File Security Check if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'DT_Shortcode_Teaser', false ) ) { class DT_Shortcode_Teaser extends DT_Shortcode { static protected $instance; protected $shortcode_name = 'dt_teaser'; public static function get_instance() { if ( !self::$instance ) { self::$instance = new DT_Shortcode_Teaser(); } return self::$instance; } protected function __construct() { add_shortcode( $this->shortcode_name, array( $this, 'shortcode' ) ); } public function shortcode( $atts, $content = null ) { $default_atts = array( 'type' => 'uploaded_image', 'style' => '1', 'image' => '', 'image_alt' => '', 'image_id' => '', 'image_width' => '', 'image_height' => '', 'image_hovers' => 'true', 'misc_link' => '', 'target' => 'blank', 'media' => '', 'background' => 'no', 'lightbox' => '', 'content_size' => 'big', 'text_align' => 'left', 'animation' => 'none', ); $attributes = shortcode_atts( $default_atts, $atts ); $attributes['type'] = sanitize_key( $attributes['type'] ); $attributes['target'] = sanitize_key( $attributes['target'] ); $attributes['style'] = sanitize_key( $attributes['style'] ); $attributes['background'] = sanitize_key( $attributes['background'] ); $attributes['content_size'] = sanitize_key( $attributes['content_size'] ); $attributes['text_align'] = sanitize_key( $attributes['text_align'] ); $attributes['image_id'] = absint($attributes['image_id']); $attributes['image_alt'] = esc_attr($attributes['image_alt']); $attributes['image_width'] = absint($attributes['image_width']); $attributes['image_height'] = absint($attributes['image_height']); $attributes['image_hovers'] = apply_filters( 'dt_sanitize_flag', $attributes['image_hovers'] ); $attributes['misc_link'] = esc_url($attributes['misc_link']); $attributes['lightbox'] = apply_filters('dt_sanitize_flag', $attributes['lightbox']); $attributes['media'] = esc_url($attributes['media']); $container_classes = array( 'shortcode-teaser' ); $content_classes = array( 'shortcode-teaser-content' ); $media = ''; // container classes if ( '1' == $attributes['style'] ) { $container_classes[] = 'img-full'; } switch ( $attributes['background'] ) { case 'fancy': $container_classes[] = 'frame-fancy'; case 'plain': $container_classes[] = 'frame-on'; } if ( in_array( $attributes['text_align'], array('center', 'centre') ) ) { $container_classes[] = 'text-centered'; } // content classes switch ( $attributes['content_size'] ) { case 'small': $content_classes[] = 'text-small'; break; case 'normal': $content_classes[] = 'text-normal'; break; case 'big': default: $content_classes[] = 'text-big'; } if ( presscore_shortcode_animation_on( $attributes['animation'] ) ) { $container_classes[] = presscore_get_shortcode_animation_html_class( $attributes['animation'] ); } if ( 'uploaded_image' == $attributes['type'] ) { $attributes['image'] = $attributes['image_id']; $attributes['media'] = ''; } else if ( 'image' == $attributes['type'] ) { $attributes['media'] = ''; } else if ( 'video' == $attributes['type'] ) { $attributes['image'] = ''; } // if media url is set - do some stuff if ( $attributes['media'] ) { $container_classes[] = 'shortcode-single-video'; $media = sprintf( '<div class="shortcode-teaser-img"><div class="shortcode-teaser-video">%s</div></div>', dt_get_embed($attributes['media']) ); // if image is set } elseif ( $attributes['image'] ) { if ( is_numeric($attributes['image']) ) { $image_id = absint($attributes['image']); $image_info = wp_get_attachment_image_src( $image_id, 'full' ); // get image src if ( !$image_info ) { $image_info = presscore_get_default_image(); } $image_src = $image_info[0]; // get image alt if ( empty($attributes['image_alt']) ) { $attributes['image_alt'] = esc_attr( get_post_meta( $image_id, '_wp_attachment_image_alt', true ) ); } // get image dimensions $attributes['image_width'] = $image_info[1]; $attributes['image_height'] = $image_info[2]; } else { $image_src = esc_url($attributes['image']); } // format image dimesions $image_dimension_attrs = ''; $_width = $_height = 0; if ( $attributes['image_width'] > 0 && $attributes['image_height'] > 0 ) { $_width = absint( $attributes['image_width'] ); $_height = absint( $attributes['image_height'] ); $image_dimension_attrs .= ' width="' . $_width . '"'; $image_dimension_attrs .= ' height="' . $_height . '"'; } $link_class = ''; $wrap_class = ''; if ( presscore_lazy_loading_enabled() ) { $media = presscore_get_lazy_image( array( array( $image_src, $_width, $_height ) ), $_width, $_height, array( 'alt' => $attributes['image_alt'] ) ); if ( $attributes['lightbox'] || $attributes['misc_link'] ) { $link_class .= 'layzr-bg '; } else { $wrap_class .= 'layzr-bg '; } } else { $media = '<img src="' . $image_src . '" srcset="' . $image_src . ' ' . $_width . 'w" alt="' . $attributes['image_alt'] . '"' . $image_dimension_attrs . ' />'; } if ( $attributes['lightbox'] ) { $link_class .= ( $attributes['image_hovers'] ? 'rollover rollover-zoom ' : '' ); $media = sprintf( '<a class="%s dt-single-mfp-popup dt-mfp-item mfp-image" href="%s" title="%s" data-dt-img-description="%s">%s</a>', trim( $link_class ), $image_src, esc_attr( $attributes['image_alt'] ), '', $media ); } else if ( $attributes['misc_link'] ) { $link_class .= ( $attributes['image_hovers'] ? 'rollover ' : '' ); $media = sprintf( '<a class="%s" href="%s"%s>%s</a>', trim( $link_class ), $attributes['misc_link'], ( 'blank' == $attributes['target'] ? ' target="_blank"' : '' ), $media ); } $wrap_class .= 'shortcode-teaser-img'; $media = sprintf( '<div class="' . $wrap_class . '">%s</div>', $media ); } $output = sprintf('<section class="%s">%s<div class="%s">%s</div></section>', esc_attr(implode(' ', $container_classes)), $media, esc_attr(implode(' ', $content_classes)), /** * @see sanitize-functions.php */ presscore_remove_wpautop( $content, true ) ); return $output; } } // create shortcode DT_Shortcode_Teaser::get_instance(); }
[+]
..
[-] index.php
[edit]
[-] shortcode-teasers.php
[edit]