diff --git a/includes/class-displayfeaturedimagegenesis-admin.php b/includes/class-displayfeaturedimagegenesis-admin.php index 8e8b347..a902f17 100644 --- a/includes/class-displayfeaturedimagegenesis-admin.php +++ b/includes/class-displayfeaturedimagegenesis-admin.php @@ -92,7 +92,10 @@ class Display_Featured_Image_Genesis_Admin { $term_meta = get_option( "displayfeaturedimagegenesis_$term_id" ); if ( ! empty( $term_meta['term_image'] ) ) { $alt_tag = get_term( $term_id, $taxonomy )->name; - $id = Display_Featured_Image_Genesis_Common::get_image_id( $term_meta['term_image'] ); + $id = $term_meta['term_image']; + if ( ! is_numeric( $term_meta['term_image'] ) ) { + $id = Display_Featured_Image_Genesis_Common::get_image_id( $term_meta['term_image'] ); + } $preview = apply_filters( 'display_featured_image_genesis_admin_term_thumbnail', wp_get_attachment_image_src( $id, 'thumbnail' ), $id ); echo '' . $alt_tag . ''; } diff --git a/includes/class-displayfeaturedimagegenesis-common.php b/includes/class-displayfeaturedimagegenesis-common.php index 18c2daa..d668b90 100644 --- a/includes/class-displayfeaturedimagegenesis-common.php +++ b/includes/class-displayfeaturedimagegenesis-common.php @@ -35,7 +35,7 @@ class Display_Featured_Image_Genesis_Common { $displaysetting = get_option( 'displayfeaturedimagegenesis' ); $move_excerpts = $displaysetting['move_excerpts']; $postspage_image = get_post_thumbnail_id( $postspage ); - $fallback = esc_attr( $displaysetting['default'] ); // url only + $fallback = $displaysetting['default']; // url only $medium = absint( get_option( 'medium_size_w' ) ); if ( is_singular() ) { // just checking for handling conditional variables set by width @@ -48,7 +48,11 @@ class Display_Featured_Image_Genesis_Common { // sitewide variables used outside this function $item->backstretch = ''; - $item->fallback_id = self::get_image_id( $fallback ); // gets image id with attached metadata + $fallback_id = $fallback; + if ( ! is_integer( $fallback ) ) { + $fallback_id = self::get_image_id( $fallback ); // gets image id with attached metadata + } + $item->fallback_id = absint( $fallback_id ); // Set Featured Image source ID $image_id = ''; // blank if nothing else @@ -85,7 +89,10 @@ class Display_Featured_Image_Genesis_Common { $post_type = $object->post_type; } if ( ! empty( $displaysetting['post_type'][$post_type] ) ) { - $image_id = self::get_image_id( $displaysetting['post_type'][$post_type] ); + $image_id = $displaysetting['post_type'][$post_type]; + if ( ! is_integer( $$displaysetting['post_type'][$post_type] ) ) { + $image_id = self::get_image_id( $displaysetting['post_type'][$post_type] ); + } } } // taxonomy @@ -94,7 +101,10 @@ class Display_Featured_Image_Genesis_Common { $term_meta = get_option( "displayfeaturedimagegenesis_$t_id" ); // if there is a term image if ( ! empty( $term_meta['term_image'] ) ) { - $image_id = self::get_image_id( $term_meta['term_image'] ); + $image_id = $term_meta['term_image']; + if ( ! is_integer( $term_meta['term_image'] ) ) { + $image_id = self::get_image_id( $term_meta['term_image'] ); + } } } // any singular post/page/CPT or there is no $fallback diff --git a/includes/class-displayfeaturedimagegenesis-settings.php b/includes/class-displayfeaturedimagegenesis-settings.php index dec7d23..77c3fe2 100644 --- a/includes/class-displayfeaturedimagegenesis-settings.php +++ b/includes/class-displayfeaturedimagegenesis-settings.php @@ -207,16 +207,19 @@ class Display_Featured_Image_Genesis_Settings { */ public function set_default_image() { - $item = Display_Featured_Image_Genesis_Common::get_image_variables(); $large = Display_Featured_Image_Genesis_Common::minimum_backstretch_width(); if ( ! empty( $this->displaysetting['default'] ) ) { - $preview = wp_get_attachment_image_src( $item->fallback_id, 'medium' ); + $id = $this->displaysetting['default']; + if ( ! is_numeric( $this->displaysetting['default'] ) ) { + $id = Display_Featured_Image_Genesis_Common::get_image_id( $this->displaysetting['default'] ); + } + $preview = wp_get_attachment_image_src( absint( $id ), 'medium' ); echo '
'; echo ''; echo '
'; } - echo ''; + echo ''; echo ''; echo '

' . sprintf( __( 'If you would like to use a default image for the featured image, upload it here. Must be at least %1$s pixels wide.', 'display-featured-image-genesis' ), @@ -287,13 +290,16 @@ class Display_Featured_Image_Genesis_Settings { } echo '

' . $post->label . '

'; if ( ! empty( $this->displaysetting['post_type'][$post_type] ) ) { - $id = Display_Featured_Image_Genesis_Common::get_image_id( $this->displaysetting['post_type'][$post_type] ); - $preview = wp_get_attachment_image_src( $id, 'medium' ); + $id = $this->displaysetting['post_type'][$post_type]; + if ( ! is_numeric( $this->displaysetting['post_type'][$post_type] ) ) { + $id = Display_Featured_Image_Genesis_Common::get_image_id( $this->displaysetting['post_type'][$post_type] ); + } + $preview = wp_get_attachment_image_src( absint( $id ), 'medium' ); echo '
'; echo ''; echo '
'; } - echo ''; + echo ''; echo ''; if ( ! empty( $this->displaysetting['post_type'][$post_type] ) ) { echo '

' . sprintf( @@ -386,11 +392,13 @@ class Display_Featured_Image_Genesis_Settings { */ protected function validate_image( $new_value ) { - $new_value = esc_url( $new_value ); - $valid = $this->is_valid_img_ext( $new_value ); + if ( ! is_numeric( $new_value ) ) { + $new_value = Display_Featured_Image_Genesis_Common::get_image_id( $new_value ); + } + $new_value = absint( $new_value ); $large = Display_Featured_Image_Genesis_Common::minimum_backstretch_width(); - $id = Display_Featured_Image_Genesis_Common::get_image_id( $new_value ); - $source = wp_get_attachment_image_src( $id, 'full' ); + $source = wp_get_attachment_image_src( $new_value, 'full' ); + $valid = $this->is_valid_img_ext( $source[0] ); $width = $source[1]; $reset = __( ' The Default Featured Image has been reset to the last valid setting.', 'display-featured-image-genesis' ); @@ -446,11 +454,13 @@ class Display_Featured_Image_Genesis_Settings { */ protected function validate_post_type_image( $new_value ) { - $new_value = esc_url( $new_value ); - $valid = $this->is_valid_img_ext( $new_value ); + if ( ! is_numeric( $new_value ) ) { + $new_value = Display_Featured_Image_Genesis_Common::get_image_id( $new_value ); + } + $new_value = absint( $new_value ); $medium = get_option( 'medium_size_w' ); - $id = Display_Featured_Image_Genesis_Common::get_image_id( $new_value ); - $source = wp_get_attachment_image_src( $id, 'full' ); + $source = wp_get_attachment_image_src( $new_value, 'full' ); + $valid = $this->is_valid_img_ext( $source[0] ); $width = $source[1]; // ok for field to be empty @@ -505,11 +515,13 @@ class Display_Featured_Image_Genesis_Settings { */ protected function validate_taxonomy_image( $new_value ) { - $new_value = esc_url( $new_value ); - $valid = $this->is_valid_img_ext( $new_value ); + if ( ! is_numeric( $new_value ) ) { + $new_value = Display_Featured_Image_Genesis_Common::get_image_id( $new_value ); + } + $new_value = absint( $new_value ); $medium = get_option( 'medium_size_w' ); - $id = Display_Featured_Image_Genesis_Common::get_image_id( $new_value ); - $source = wp_get_attachment_image_src( $id, 'full' ); + $source = wp_get_attachment_image_src( $new_value, 'full' ); + $valid = $this->is_valid_img_ext( $source[0] ); $width = $source[1]; // ok for field to be empty diff --git a/includes/class-displayfeaturedimagegenesis-taxonomies.php b/includes/class-displayfeaturedimagegenesis-taxonomies.php index 0db505f..6a7e6ad 100644 --- a/includes/class-displayfeaturedimagegenesis-taxonomies.php +++ b/includes/class-displayfeaturedimagegenesis-taxonomies.php @@ -16,7 +16,7 @@ class Display_Featured_Image_Genesis_Taxonomies { echo '

'; echo ''; - echo ''; + echo ''; echo ''; echo '

' . __( 'Set Featured Image for Taxonomy','display-featured-image-genesis' ) . '

'; echo '
'; @@ -41,13 +41,16 @@ class Display_Featured_Image_Genesis_Taxonomies { echo ''; echo ''; if ( ! empty( $displaysetting['term_image'] ) ) { - $id = Display_Featured_Image_Genesis_Common::get_image_id( $displaysetting['term_image'] ); - $preview = wp_get_attachment_image_src( $id, 'medium' ); + $id = $displaysetting['term_image']; + if ( ! is_integer( $displaysetting['term_image'] ) ) { + $id = Display_Featured_Image_Genesis_Common::get_image_id( $displaysetting['term_image'] ); + } + $preview = wp_get_attachment_image_src( absint( $id ), 'medium' ); echo '
'; echo ''; echo '
'; } - echo ''; + echo ''; echo ''; echo '

' . sprintf( __( 'Set Featured Image for %1$s.', 'display-featured-image-genesis' ), diff --git a/includes/helper-functions.php b/includes/helper-functions.php index ca41245..34b39f7 100644 --- a/includes/helper-functions.php +++ b/includes/helper-functions.php @@ -25,7 +25,10 @@ function display_featured_image_genesis_get_term_image_id() { $t_id = $term->term_id; $term_meta = get_option( "displayfeaturedimagegenesis_$t_id" ); if ( ! empty( $term_meta['term_image'] ) ) { - $image_id = Display_Featured_Image_Genesis_Common::get_image_id( $term_meta['term_image'] ); + $image_id = $term_meta['term_image']; + if ( ! is_numeric( $term_meta['term_image'] ) ) { + $image_id = Display_Featured_Image_Genesis_Common::get_image_id( $term_meta['term_image'] ); + } break; } } @@ -107,7 +110,10 @@ function display_featured_image_genesis_get_cpt_image_id() { $post_type = $object->post_type; } if ( ! empty( $displaysetting['post_type'][$post_type] ) ) { - $image_id = Display_Featured_Image_Genesis_Common::get_image_id( $displaysetting['post_type'][$post_type] ); + $image_id = $displaysetting['post_type'][$post_type]; + if ( ! is_numeric( $displaysetting['post_type'][$post_type] ) ) { + $image_id = Display_Featured_Image_Genesis_Common::get_image_id( $displaysetting['post_type'][$post_type] ); + } } return $image_id; diff --git a/includes/js/settings-upload.js b/includes/js/settings-upload.js index ee061a3..8506e44 100644 --- a/includes/js/settings-upload.js +++ b/includes/js/settings-upload.js @@ -28,7 +28,7 @@ jQuery(document).ready(function($){ custom_uploader.on('select', function() { attachment = custom_uploader.state().get('selection').first().toJSON(); - $(target_input).val(attachment.url); + $(target_input).val(attachment.id); }); //Open the uploader dialog diff --git a/includes/widgets/displayfeaturedimagegenesis-cpt-archive-widget.php b/includes/widgets/displayfeaturedimagegenesis-cpt-archive-widget.php index 6348c0d..d50eea2 100644 --- a/includes/widgets/displayfeaturedimagegenesis-cpt-archive-widget.php +++ b/includes/widgets/displayfeaturedimagegenesis-cpt-archive-widget.php @@ -110,7 +110,10 @@ class Display_Featured_Image_Genesis_Widget_CPT extends WP_Widget { $image_id = $postspage_image; } else { - $image_id = Display_Featured_Image_Genesis_Common::get_image_id( $option['post_type'][$post_type->name] ); + $image_id = $option['post_type'][$post_type->name]; + if ( ! is_numeric( $option['post_type'][$post_type->name] ) ) { + $image_id = Display_Featured_Image_Genesis_Common::get_image_id( $option['post_type'][$post_type->name] ); + } } $image_src = wp_get_attachment_image_src( $image_id, $instance['image_size'] ); if ( $image_src ) { diff --git a/includes/widgets/displayfeaturedimagegenesis-taxonomy-widget.php b/includes/widgets/displayfeaturedimagegenesis-taxonomy-widget.php index 5857709..1a245c3 100644 --- a/includes/widgets/displayfeaturedimagegenesis-taxonomy-widget.php +++ b/includes/widgets/displayfeaturedimagegenesis-taxonomy-widget.php @@ -97,7 +97,10 @@ class Display_Featured_Image_Genesis_Widget_Taxonomy extends WP_Widget { } if ( $term_meta ) { - $image_id = Display_Featured_Image_Genesis_Common::get_image_id( $term_meta['term_image'] ); + $image_id = $term_meta['term_image']; + if ( ! is_numeric( $term_meta['term_image'] ) ) { + $image_id = Display_Featured_Image_Genesis_Common::get_image_id( $term_meta['term_image'] ); + } $image_src = wp_get_attachment_image_src( $image_id, $instance['image_size'] ); if ( $image_src ) { $image = '' . esc_html( $title ) . '';