From 00bf7ad209c03a2c11a9de8a7fa17f86a7313549 Mon Sep 17 00:00:00 2001 From: Robin Cornett Date: Tue, 23 Feb 2016 13:12:43 -0500 Subject: [PATCH] Fix image source if image size isn't present --- ...ass-displayfeaturedimagegenesis-output.php | 8 +++---- includes/js/backstretch-set.js | 23 +++++++++++-------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/includes/class-displayfeaturedimagegenesis-output.php b/includes/class-displayfeaturedimagegenesis-output.php index 28a1717..1972797 100644 --- a/includes/class-displayfeaturedimagegenesis-output.php +++ b/includes/class-displayfeaturedimagegenesis-output.php @@ -140,13 +140,13 @@ class Display_Featured_Image_Genesis_Output { $output = array( 'source' => array( 'backstretch' => esc_url( $this->item->backstretch[0] ), - 'large' => esc_url( $large[0] ), - 'medium_large' => esc_url( $medium_large[0] ), + 'large' => $large[3] ? esc_url( $large[0] ) : '', + 'medium_large' => $medium_large[3] ? esc_url( $medium_large[0] ) : '', ), 'width' => array( 'backstretch' => $this->item->backstretch[1], - 'large' => $large[1], - 'medium_large' => $medium_large[1], + 'large' => $large[3] ? $large[1] : '', + 'medium_large' => $medium_large[3] ? $medium_large[1] : '', ), 'height' => (int) $this->displaysetting['less_header'], 'centeredX' => (int) (bool) $backstretch_vars['centeredX'], diff --git a/includes/js/backstretch-set.js b/includes/js/backstretch-set.js index 0b82fc1..d990ee1 100644 --- a/includes/js/backstretch-set.js +++ b/includes/js/backstretch-set.js @@ -13,24 +13,17 @@ function _backstretchHandler() { - var source = plugin.params.source.backstretch, - $el = $( '.big-leader' ); + var $el = $( '.big-leader' ); if ( typeof $el === 'undefined' ) { return false; } - if ( window.innerWidth <= plugin.params.width.large ) { - source = plugin.params.source.large; - } - if ( window.innerWidth <= plugin.params.width.medium_large ) { - source = plugin.params.source.medium_large; - } - $el.css( { height: ( $(window).height() ) - ( [ plugin.params.height ] ) + 'px' } ); + var source = _getSource(); $el.backstretch( [source], { centeredX: '1' === plugin.params.centeredX ? true : false, @@ -40,6 +33,18 @@ ); } + function _getSource() { + var source = plugin.params.source.backstretch; + + if ( plugin.params.source.large && window.innerWidth <= plugin.params.width.large ) { + source = plugin.params.source.large; + } + if ( plugin.params.source.medium_large && window.innerWidth <= plugin.params.width.medium_large ) { + source = plugin.params.source.medium_large; + } + return source; + } + $(document).ready(function () { plugin.params = typeof BackStretchVars === 'undefined' ? '' : BackStretchVars;