diff --git a/includes/class-displayfeaturedimagegenesis-admin.php b/includes/class-displayfeaturedimagegenesis-admin.php index 6eff733..8926f3d 100644 --- a/includes/class-displayfeaturedimagegenesis-admin.php +++ b/includes/class-displayfeaturedimagegenesis-admin.php @@ -114,7 +114,7 @@ class Display_Featured_Image_Genesis_Admin { $taxonomy = filter_input( INPUT_POST, 'taxonomy', FILTER_SANITIZE_STRING ); $taxonomy = ! is_null( $taxonomy ) ? $taxonomy : get_current_screen()->taxonomy; - $image_id = is_numeric( $term_meta['term_image'] ) ? $term_meta['term_image'] : Display_Featured_Image_Genesis_Common::get_image_id( $term_meta['term_image'] ); + $image_id = displayfeaturedimagegenesis_check_image_id( $term_meta['term_image'] ); $args = array( 'image_id' => $image_id, diff --git a/includes/class-displayfeaturedimagegenesis-common.php b/includes/class-displayfeaturedimagegenesis-common.php index 2f6ea8c..357c0e5 100644 --- a/includes/class-displayfeaturedimagegenesis-common.php +++ b/includes/class-displayfeaturedimagegenesis-common.php @@ -109,13 +109,8 @@ class Display_Featured_Image_Genesis_Common { $displaysetting = get_option( 'displayfeaturedimagegenesis' ); $postspage_image = get_post_thumbnail_id( $postspage ); $fallback = $displaysetting['default']; - $medium = absint( get_option( 'medium_size_w' ) ); - - $fallback_id = $fallback; - if ( ! is_numeric( $fallback ) ) { - $fallback_id = self::get_image_id( $fallback ); // gets image id with attached metadata - } - $fallback_id = absint( $fallback_id ); + $medium = (int) get_option( 'medium_size_w' ); + $fallback_id = displayfeaturedimagegenesis_check_image_id( $fallback ); /** * create a filter to use the fallback image @@ -129,7 +124,7 @@ class Display_Featured_Image_Genesis_Common { $image_id = $fallback_id; if ( in_array( get_post_type(), $use_fallback ) ) { - return $image_id; + return (int) $image_id; } } @@ -152,7 +147,7 @@ class Display_Featured_Image_Genesis_Common { $post_type = $object->post_type; } if ( ! empty( $displaysetting['post_type'][ $post_type ] ) ) { - $image_id = is_numeric( $displaysetting['post_type'][ $post_type ] ) ? $displaysetting['post_type'][ $post_type ] : self::get_image_id( $displaysetting['post_type'][ $post_type ] ); + $image_id = displayfeaturedimagegenesis_check_image_id( $displaysetting['post_type'][ $post_type ] ); /** * use the custom post type featured image @@ -161,7 +156,7 @@ class Display_Featured_Image_Genesis_Common { */ $use_cpt = apply_filters( 'displayfeaturedimagegenesis_use_post_type_image', array() ); if ( in_array( get_post_type(), $use_cpt ) ) { - return $image_id; + return (int) $image_id; } } } @@ -174,7 +169,7 @@ 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 = is_numeric( $term_meta['term_image'] ) ? $term_meta['term_image'] : self::get_image_id( $term_meta['term_image'] ); + $image_id = displayfeaturedimagegenesis_check_image_id( $term_meta['term_image'] ); } } @@ -192,7 +187,7 @@ class Display_Featured_Image_Genesis_Common { $use_tax_image = apply_filters( 'display_featured_image_genesis_use_taxonomy', array() ); if ( in_array( get_post_type(), $use_tax_image ) ) { - return $image_id; + return (int) $image_id; } } diff --git a/includes/class-displayfeaturedimagegenesis-settings.php b/includes/class-displayfeaturedimagegenesis-settings.php index 948ad43..a7d0068 100644 --- a/includes/class-displayfeaturedimagegenesis-settings.php +++ b/includes/class-displayfeaturedimagegenesis-settings.php @@ -385,7 +385,7 @@ class Display_Featured_Image_Genesis_Settings { return; } - $id = is_numeric( $id ) ? $id : Display_Featured_Image_Genesis_Common::get_image_id( $id ); + $id = displayfeaturedimagegenesis_check_image_id( $id ); $preview = wp_get_attachment_image_src( (int) $id, 'medium' ); $image = sprintf( '
', $preview[0] ); return $image; @@ -400,7 +400,7 @@ class Display_Featured_Image_Genesis_Settings { * @since 2.3.0 */ public function render_buttons( $id, $name ) { - $id = is_numeric( $id ) ? $id : Display_Featured_Image_Genesis_Common::get_image_id( $id ); + $id = displayfeaturedimagegenesis_check_image_id( $id ); $id = $id ? (int) $id : ''; printf( '', esc_attr( $name ), esc_attr( $id ) ); printf( '', @@ -544,8 +544,8 @@ class Display_Featured_Image_Genesis_Settings { */ protected function validate_image( $new_value, $old_value, $label, $size_to_check ) { - $new_value = is_numeric( $new_value ) ? $new_value : (int) Display_Featured_Image_Genesis_Common::get_image_id( $new_value ); - $old_value = is_numeric( $old_value ) ? $old_value : (int) Display_Featured_Image_Genesis_Common::get_image_id( $old_value ); + $new_value = displayfeaturedimagegenesis_check_image_id( $new_value ); + $old_value = displayfeaturedimagegenesis_check_image_id( $old_value ); $source = wp_get_attachment_image_src( $new_value, 'full' ); $valid = $this->is_valid_img_ext( $source[0] ); $width = $source[1]; @@ -588,8 +588,7 @@ class Display_Featured_Image_Genesis_Settings { protected function validate_taxonomy_image( $new_value ) { // if the image was selected using the old URL method - $new_value = is_numeric( $new_value ) ? $new_value : Display_Featured_Image_Genesis_Common::get_image_id( $new_value ); - $new_value = (int) $new_value; + $new_value = displayfeaturedimagegenesis_check_image_id( $new_value ); $medium = get_option( 'medium_size_w' ); $source = wp_get_attachment_image_src( $new_value, 'full' ); $valid = $this->is_valid_img_ext( $source[0] ); diff --git a/includes/helper-functions.php b/includes/helper-functions.php index 13b8f4e..15a0d9c 100644 --- a/includes/helper-functions.php +++ b/includes/helper-functions.php @@ -15,9 +15,8 @@ * * @since 2.1.0 */ -function display_featured_image_genesis_get_term_image_id() { +function display_featured_image_genesis_get_term_image_id( $image_id = '' ) { - $image_id = ''; $taxonomies = get_taxonomies(); $args = array( 'orderby' => 'count', 'order' => 'DESC' ); $terms = wp_get_object_terms( get_the_ID(), $taxonomies, $args ); @@ -26,12 +25,12 @@ 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 = is_numeric( $term_meta['term_image'] ) ? $term_meta['term_image'] : Display_Featured_Image_Genesis_Common::get_image_id( $term_meta['term_image'] ); + $image_id = displayfeaturedimagegenesis_check_image_id( $term_meta['term_image'] ); break; } } - return absint( $image_id ); + return (int) $image_id; } @@ -57,14 +56,13 @@ function display_featured_image_genesis_get_term_image_url( $size = 'displayfeat * * @since 2.1.0 */ -function display_featured_image_genesis_get_default_image_id() { +function display_featured_image_genesis_get_default_image_id( $image_id = '' ) { - $image_id = ''; $displaysetting = get_option( 'displayfeaturedimagegenesis' ); $fallback = $displaysetting['default']; - $image_id = is_numeric( $fallback ) ? $fallback : Display_Featured_Image_Genesis_Common::get_image_id( $fallback ); + $image_id = displayfeaturedimagegenesis_check_image_id( $fallback ); - return absint( $image_id ); + return (int) $image_id; } @@ -90,9 +88,9 @@ function display_featured_image_genesis_get_default_image_url( $size = 'displayf * * @since 2.1.0 */ -function display_featured_image_genesis_get_cpt_image_id() { +function display_featured_image_genesis_get_cpt_image_id( $image_id = '' ) { - $image_id = $post_type = ''; + $post_type = ''; $displaysetting = get_option( 'displayfeaturedimagegenesis' ); $object = get_queried_object(); if ( ! $object || is_admin() ) { @@ -107,10 +105,10 @@ function display_featured_image_genesis_get_cpt_image_id() { $post_type = $object->post_type; } if ( ! empty( $displaysetting['post_type'][ $post_type ] ) ) { - $image_id = is_numeric( $displaysetting['post_type'][ $post_type ] ) ? $displaysetting['post_type'][ $post_type ] : Display_Featured_Image_Genesis_Common::get_image_id( $displaysetting['post_type'][ $post_type ] ); + $image_id = displayfeaturedimagegenesis_check_image_id( $displaysetting['post_type'][ $post_type ] ); } - return absint( $image_id ); + return (int) $image_id; } /** @@ -186,3 +184,15 @@ function display_featured_image_genesis_add_archive_thumbnails() { ); } + +/** + * function to check image_id value, convert from URL if necessary + * @param string $image_id int or URL string + * @return int image ID + * + * @since 2.3.0 + */ +function displayfeaturedimagegenesis_check_image_id( $image_id = '' ) { + $image_id = is_numeric( $image_id ) ? $image_id : Display_Featured_Image_Genesis_Common::get_image_id( $image_id ); + return $image_id; +} diff --git a/includes/widgets/displayfeaturedimagegenesis-cpt-archive-widget.php b/includes/widgets/displayfeaturedimagegenesis-cpt-archive-widget.php index 5258428..554f251 100644 --- a/includes/widgets/displayfeaturedimagegenesis-cpt-archive-widget.php +++ b/includes/widgets/displayfeaturedimagegenesis-cpt-archive-widget.php @@ -104,12 +104,8 @@ class Display_Featured_Image_Genesis_Widget_CPT extends WP_Widget { echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title']; } - $image = ''; - if ( 'post' === $instance['post_type'] ) { - $image_id = $postspage_image; - } else { - $image_id = is_numeric( $option['post_type'][ $post_type->name ] ) ? $option['post_type'][ $post_type->name ] : Display_Featured_Image_Genesis_Common::get_image_id( $option['post_type'][ $post_type->name ] ); - } + $image = ''; + $image_id = 'post' === $instance['post_type'] ? $postspage_image : displayfeaturedimagegenesis_check_image_id( $option['post_type'][ $post_type->name ] ); $image_src = wp_get_attachment_image_src( $image_id, $instance['image_size'] ); if ( $image_src ) { $image = '' . $title . ''; diff --git a/includes/widgets/displayfeaturedimagegenesis-taxonomy-widget.php b/includes/widgets/displayfeaturedimagegenesis-taxonomy-widget.php index c5db546..50a9d87 100644 --- a/includes/widgets/displayfeaturedimagegenesis-taxonomy-widget.php +++ b/includes/widgets/displayfeaturedimagegenesis-taxonomy-widget.php @@ -97,7 +97,7 @@ class Display_Featured_Image_Genesis_Widget_Taxonomy extends WP_Widget { } if ( $term_meta ) { - $image_id = is_numeric( $term_meta['term_image'] ) ? $term_meta['term_image'] : Display_Featured_Image_Genesis_Common::get_image_id( $term_meta['term_image'] ); + $image_id = displayfeaturedimagegenesis_check_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 ) . '';