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 '';
}
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 '
' . 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 '
' . 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 '
' . __( 'Set Featured Image for Taxonomy','display-featured-image-genesis' ) . '
'; 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 = '';