File "images.php"
Full Path: /home/elegucvf/public_html/video/wp-content/wp-includes/wp-content/themes/atlas/functions/images.php
File size: 18.28 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Images functions
*
* @package Atlas
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
/**
* -----------------------------------------------------------------------------
* Max scrset image width
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_max_srcset_image_width' ) ) {
function th90_max_srcset_image_width() {
return 1920;
}
}
add_filter( 'max_srcset_image_width', 'th90_max_srcset_image_width', 10 );
/**
* -----------------------------------------------------------------------------
* Image Ratio
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_image_ratio' ) ) {
function th90_image_ratio( $thumb = 'post-thumbnail', $no_image = false ) {
if ( strpos( $thumb, '1_1' ) !== false ) {
$img_ratio = '100';
} elseif ( strpos( $thumb, '16_9' ) !== false ) {
$img_ratio = '56';
} elseif ( strpos( $thumb, '3_2' ) !== false ) {
$img_ratio = '67';
} elseif ( strpos( $thumb, '4_3' ) !== false ) {
$img_ratio = '75';
} elseif ( strpos( $thumb, '2_1' ) !== false ) {
$img_ratio = '50';
} elseif ( strpos( $thumb, '4_5' ) !== false ) {
$img_ratio = '125';
} elseif ( strpos( $thumb, '2_3' ) !== false ) {
$img_ratio = '150';
} elseif ( strpos( $thumb, '3_4' ) !== false ) {
$img_ratio = '133';
} elseif ( strpos( $thumb, 'ori' ) !== false ) {
$img_ratio = 'ori';
if ( $no_image ) {
$img_ratio = '100';
}
} else {
$img_ratio = 'custom';
if ( $no_image ) {
$img_ratio = '100';
}
}
return $img_ratio;
}
}
/**
* -----------------------------------------------------------------------------
* Post thumbnail URL
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_post_thumbnail_url' ) ) {
function th90_post_thumbnail_url( $thumb = 'large' ) {
if ( has_post_thumbnail() && get_the_post_thumbnail() ) {
return wp_get_attachment_image_src( get_post_thumbnail_id(), $thumb )[0];
}
}
}
/**
* -----------------------------------------------------------------------------
* Post thumbnail
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_post_thumbnail' ) ) {
function th90_post_thumbnail( $thumb_ratio = 'ori', $args = array() ) {
$args_default = array(
'before' => '',
'after' => '',
'is_link' => true,
'format_icon' => true,
'first_cat' => false,
'thumbnail_type' => 'image',
'count' => '',
'list_post' => false,
'hero' => false,
'review' => false,
'image_size' => 'post-thumbnail',
'fetchpriority' => false,
);
$args = wp_parse_args( $args, $args_default );
$img_attr_add = array();
$have_thumb = false;
if ( 'image' == $args['thumbnail_type'] ) {
if ( get_the_post_thumbnail() ) {
$have_thumb = true;
} else {
if ( $args['hero'] ) {
$have_thumb = false;
}
}
} else {
if ( get_the_post_thumbnail() ) {
$have_thumb = false;
}
}
if ( ! $have_thumb && 'char' != $args['thumbnail_type'] && ! $args['hero'] ) {
return;
}
echo wp_kses_post( $args['before'] );
if ( $args['is_link'] ) {
echo '<a class="src-'. esc_attr( $thumb_ratio ) .'" href="' . esc_url( get_permalink() ) . '" title="' . esc_attr( the_title_attribute( 'echo=0' ) ) . '">';
}
$img_char = '<div class="img-char">' . mb_substr( get_the_title(), 0, 1 ) . '</div>';
if ( $have_thumb ) {
if ( 'ori' == th90_image_ratio( $thumb_ratio ) ) {
$image_id = get_post_thumbnail_id();
$image = wp_get_attachment_image_src( $image_id, 'full' );
$ratio_value = ( $image[2] / $image[1] ) * 100;
echo '<div class="thumb-container" style="padding-bottom:' . $ratio_value . '%;">';
} else {
echo '<div class="thumb-container thumb-'. esc_attr( th90_image_ratio( $thumb_ratio ) ) .'">';
}
if ( $args['fetchpriority'] ) {
$img_attr_add['fetchpriority'] = 'high';
}
echo get_the_post_thumbnail( get_the_ID(), $args['image_size'], $img_attr_add );
echo '</div>';
} else {
echo '<div class="thumb-container thumb-'. esc_attr( th90_image_ratio( $thumb_ratio , true ) ) .'">' . $img_char . '</div>';
}
if ( $args['is_link'] ) {
echo '</a>';
}
if ( $args['hero'] ) {
echo '<a class="hero-thumb-link" href="' . esc_url( get_permalink() ) . '" title="' . esc_attr( the_title_attribute( 'echo=0' ) ) . '"></a>';
}
if ( $args['count'] ) {
echo '<div class="thumb-count">' . th90_number_post_parse( $args['count'], true ) . '</div>';
}
if ( $args['first_cat'] ) {
echo '<div class="entry-cats">';
echo th90_get_category( 'btn', true );
echo '</div>';
}
if ( $args['format_icon'] && th90_post_format_icon() ) {
th90_post_format_icon();
}
if ( $args['review'] && th90_get_meta_review() ) {
th90_meta_review();
}
echo wp_kses_post( $args['after'] );
}
}
/**
* -----------------------------------------------------------------------------
* Single Featured Image
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_single_featured_image' ) ) {
function th90_single_featured_image( $args = array(), $thumb_size = 'medium_large' ) {
$args_default = array(
'wrap_before' => '<div class="entry-featured">',
'wrap_after' => '</div>',
'caption' => false,
);
$args = wp_parse_args( $args, $args_default );
if ( is_singular( 'post' ) ) {
$thumb_ratio = th90_opt_override( 'override_post_layout', 'post_featured_ratio' );
} else {
$thumb_ratio = 'ori';
}
if ( has_post_format( 'video' ) && th90_field_single( 'video_embed' ) ) {
echo wp_kses_post( $args['wrap_before'] );
th90_video_featured();
echo wp_kses_post( $args['wrap_after'] );
} elseif ( has_post_format( 'audio' ) && th90_field_single( 'audio_embed' ) ) {
echo wp_kses_post( $args['wrap_before'] );
th90_audio_featured();
echo wp_kses_post( $args['wrap_after'] );
} elseif ( has_post_format( 'gallery' ) && ! empty( th90_field_single( 'post_gallery' ) ) ) {
echo wp_kses_post( $args['wrap_before'] );
th90_gallery( $thumb_size );
echo wp_kses_post( $args['wrap_after'] );
} else {
if ( has_post_thumbnail() && get_the_post_thumbnail() ) {
echo wp_kses_post( $args['wrap_before'] );
echo '<div class="media-holder">';
echo '<a class="venobox" href="' . wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' )[0] . '">';
if ( 'ori' == th90_image_ratio( $thumb_ratio ) ) {
$image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
$ratio_value = ( $image[2] / $image[1] ) * 100;
echo '<div class="thumb-container" style="padding-bottom:' . $ratio_value . '%;">';
} else {
echo '<div class="thumb-container thumb-'. esc_attr( th90_image_ratio( $thumb_ratio ) ) .'">';
}
the_post_thumbnail( $thumb_size, array( 'fetchpriority' => 'high') );
echo '</div>';
echo '</a>';
if ( $args['caption'] ) {
if ( get_post( get_post_thumbnail_id() )->post_content || get_post( get_post_thumbnail_id() )->post_excerpt ) {
echo '<div class="featured-caption wp-caption-text">';
if ( get_post( get_post_thumbnail_id() )->post_excerpt ) {
echo wp_kses_post( get_post( get_post_thumbnail_id() )->post_excerpt );
} else {
echo wp_kses_post( get_post( get_post_thumbnail_id() )->post_content );
}
echo '</div>';
}
}
echo '</div>';
echo wp_kses_post( $args['wrap_after'] );
}
}
}
}
/**
* -----------------------------------------------------------------------------
* Single Featured Image Hero
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_single_featured_image_hero' ) ) {
function th90_single_featured_image_hero( $args = array(), $thumb_size = 'large' ) {
$args_default = array(
'wrap_before' => '<div class="entry-featured"><div class="featured-hero">',
'wrap_after' => '</div></div>',
'hero_height' => th90_opt_override( 'override_post_layout', 'featured_height' ),
);
$args = wp_parse_args( $args, $args_default );
if ( is_singular( 'post' ) ) {
$thumb_ratio = th90_opt_override( 'override_post_layout', 'post_featured_ratio' );
} else {
$thumb_ratio = 'ori';
}
echo wp_kses_post( $args['wrap_before'] );
if ( has_post_thumbnail() && get_the_post_thumbnail() ) {
if ( $args['hero_height'] ) {
echo '<div class="thumb-container" style="padding-bottom:' . $args['hero_height'] . 'px;">';
} else {
if ( 'ori' == th90_image_ratio( $thumb_ratio ) ) {
$image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );
$ratio_value = ( $image[2] / $image[1] ) * 100;
echo '<div class="thumb-container" style="padding-bottom:' . $ratio_value . '%;">';
} else {
echo '<div class="thumb-container thumb-'. esc_attr( th90_image_ratio( $thumb_ratio ) ) .'">';
}
}
the_post_thumbnail( $thumb_size, array( 'fetchpriority' => 'high') );
} else {
$img_char = '<div class="img-char">' . mb_substr( get_the_title(), 0, 1 ) . '</div>';
echo '<div class="thumb-container thumb-50">' . $img_char;
}
?>
</div>
<div class="post-desc desc-hero bg-dark">
<div class="post-desc-inner">
<?php get_template_part( 'template-parts/article/article', 'title' ); ?>
</div>
</div>
<?php
echo wp_kses_post( $args['wrap_after'] );
}
}
/**
* -----------------------------------------------------------------------------
* Single Media Format Hero
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_single_media_format' ) ) {
function th90_single_media_format( $args = array(), $thumb_size = 'large' ) {
$args_default = array(
'wrap_before' => '<div class="entry-featured">',
'wrap_after' => '</div>',
);
$args = wp_parse_args( $args, $args_default );
if ( has_post_format( 'video' ) && th90_field_single( 'video_embed' ) ) {
echo wp_kses_post( $args['wrap_before'] );
th90_video_featured();
echo wp_kses_post( $args['wrap_after'] );
} elseif ( has_post_format( 'audio' ) && th90_field_single( 'audio_embed' ) ) {
echo wp_kses_post( $args['wrap_before'] );
th90_audio_featured();
echo wp_kses_post( $args['wrap_after'] );
} elseif ( has_post_format( 'gallery' ) && ! empty( th90_field_single( 'post_gallery' ) ) ) {
echo wp_kses_post( $args['wrap_before'] );
th90_gallery( $thumb_size );
echo wp_kses_post( $args['wrap_after'] );
}
return;
}
}
/**
* -----------------------------------------------------------------------------
* Article Gallery
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_gallery' ) ) {
function th90_gallery( $thumb_size = 'large' ) {
$wrap_before = '<div class="media-holder">';
$wrap_after = '</div>';
$gallery = array();
if ( ! empty( th90_field_single( 'post_gallery' ) ) ) {
$gallery = th90_field_single( 'post_gallery' );
}
$gallery_autoplay = th90_field_single( 'gallery_autoplay' );
$thumb_ratio = th90_field_single( 'gallery_ratio' );
if ( th90_is_amp() ) {
?>
<amp-carousel loop width="450" height="300" layout="responsive" type="slides" role="region">
<?php
foreach ( $gallery as $gallery_image ) {
if ( 'ori' == th90_image_ratio( $thumb_ratio ) ) {
$image = wp_get_attachment_image_src( $gallery_image['ID'], 'full' );
$ratio_value = ( $image[2] / $image[1] ) * 100;
echo '<div class="thumb-container" style="padding-bottom:' . $ratio_value . '%;">';
} else {
echo '<div class="thumb-container thumb-'. esc_attr( th90_image_ratio( $thumb_ratio ) ) .'">';
}
echo wp_get_attachment_image( $gallery_image['ID'], $thumb_size );
echo '</div>';
}
?>
</amp-carousel>
<?php
} else {
/* Slider Atts */
$slider_atts = array(
'class' => 'th90-slider post-gallery',
'id' => 'fgallery-' . get_the_ID(),
);
if ( ! empty( $gallery ) ) {
/* Slider Config */
echo wp_kses_post( $wrap_before );
?>
<div class="block-slider nav-top_right">
<div <?php echo th90_stringify_attributes( $slider_atts ); ?> data-settings='<?php echo esc_attr( wp_json_encode( th90_slider_config_default( array( 'autoplay' => $gallery_autoplay ) ) ) ); ?>'>
<div class="slider-wrap">
<div class="slick-slider d1 t1 m1 ms1">
<?php
foreach ( $gallery as $gallery_image ) {
echo '<div class="slider-item">';
echo '<a class="venobox" data-gall="post-' . get_the_ID() . '" href="'.wp_get_attachment_image_src( $gallery_image['ID'], 'full' )[0].'">';
if ( 'ori' == th90_image_ratio( $thumb_ratio ) ) {
$image = wp_get_attachment_image_src( $gallery_image['ID'], 'full' );
$ratio_value = ( $image[2] / $image[1] ) * 100;
echo '<div class="thumb-container" style="padding-bottom:' . $ratio_value . '%;">';
} else {
echo '<div class="thumb-container thumb-'. esc_attr( th90_image_ratio( $thumb_ratio ) ) .'">';
}
echo wp_get_attachment_image( $gallery_image['ID'], $thumb_size, false, array( 'fetchpriority' => 'high') );
echo '</div>';
echo '</a>';
echo '</div>';
}
?>
</div>
<div class="slider-arrow"></div>
</div>
</div>
</div>
<?php
echo wp_kses_post( $wrap_after );
}
}
}
}
/**
* -----------------------------------------------------------------------------
* Article Audio
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_audio_featured' ) ) {
function th90_audio_featured() {
$wrap_before = '<div class="media-holder">';
$wrap_after = '</div>';
$embed_code = th90_field_single( 'audio_embed' );
if ( $embed_code ) {
echo wp_kses_post( $wrap_before );
echo $embed_code;
echo wp_kses_post( $wrap_after );
}
}
}
/**
* -----------------------------------------------------------------------------
* Article Video
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_video_featured' ) ) {
function th90_video_featured() {
$wrap_before = '<div class="media-holder">';
$wrap_after = '</div>';
$embed_code = th90_field_single( 'video_embed' );
if ( $embed_code ) {
echo wp_kses_post( $wrap_before );
echo '<div class="video-container">';
echo $embed_code;
echo '</div>';
echo wp_kses_post( $wrap_after );
}
}
}
/**
* -----------------------------------------------------------------------------
* Get URL src of embed
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_get_url_embed' ) ) {
function th90_get_url_embed( $embed ) {
if ( $embed ) {
preg_match('/src=(["\'])(.*?)\1/', $embed, $match);
return $match[2];
}
return;
}
}
/**
* -----------------------------------------------------------------------------
* Check iframe is youtube or vimeo
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_check_youtube_vimeo' ) ) {
function th90_check_youtube_vimeo( $embed ) {
if ( $embed ) {
if ( strpos( th90_get_url_embed( $embed ), 'yout' ) !== false || strpos( th90_get_url_embed( $embed ), 'vim' ) !== false ) {
return true;
}
}
return false;
}
}
/**
* -----------------------------------------------------------------------------
* Build Youtube URL
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_build_youtube_url' ) ) {
function th90_build_youtube_url( $url, $args = array() ) {
// Defaults ----------
$args = wp_parse_args( $args, array(
'autoplay' => 1,
'loop' => 1,
'modestbranding' => 0,
'rel' => 0,
'controls' => 0,
'showinfo' => 0,
'mute' => 1,
));
$matches = array();
preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $url, $matches);
if ( ! empty( $matches ) ) {
return add_query_arg( $args, 'https://www.youtube-nocookie.com/embed/' . $matches[1] );
}
return;
}
}
/**
* -----------------------------------------------------------------------------
* Build Vimeo URL
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_build_vimeo_url' ) ) {
function th90_build_vimeo_url( $url, $args = array() ) {
// Defaults ----------
$args = wp_parse_args( $args, array(
'autoplay' => 1,
'loop' => 1,
'byline' => 0,
'title' => 0,
'background' => 1,
'dnt' => 1,
'muted' => 1,
));
$matches = array();
preg_match('%^https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/video_url\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)(?:[?]?.*)$%im', $url, $matches);
if ( ! empty( $matches ) ) {
return add_query_arg( $args, 'https://vimeo.com/' . $matches[3] );
}
return;
}
}
/**
* -----------------------------------------------------------------------------
* Cat thumbnail
* -----------------------------------------------------------------------------
*/
if ( ! function_exists( 'th90_cat_thumbnail' ) ) {
function th90_cat_thumbnail( $thumb_ratio = 'ori', $image_id = null, $size = 'thumbnail', $term_name = '' ) {
$img_char = '<div class="img-char">' . mb_substr( $term_name, 0, 1 ) . '</div>';
if ( $image_id ) {
$image = wp_get_attachment_image_src( $image_id, 'full' );
if ( 'ori' == th90_image_ratio( $thumb_ratio ) ) {
if ( 0 !== absint( $image[1] ) && 0 !== absint( $image[2] ) ) {
$ratio_value = ( $image[2] / $image[1] ) * 100;
echo '<div class="thumb-container" style="padding-bottom:' . $ratio_value . '%;">';
} else {
echo '<div class="thumb-container thumb-100">';
}
} else {
echo '<div class="thumb-container thumb-'. esc_attr( th90_image_ratio( $thumb_ratio ) ) .'">';
}
echo wp_get_attachment_image( $image_id, $size );
echo '</div>';
} else {
echo '<div class="thumb-container thumb-'. esc_attr( th90_image_ratio( $thumb_ratio , true ) ) .'">' . $img_char . '</div>';
}
}
}