From 15248de45128ebb1eed5b579599c405e178e375c Mon Sep 17 00:00:00 2001 From: Robin Cornett Date: Thu, 18 Aug 2016 14:38:34 -0400 Subject: [PATCH] Improve term checking Only update the term metadata if a term exists. Only add to the list if a term exists. --- ...s-displayfeaturedimagegenesis-settings.php | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/includes/class-displayfeaturedimagegenesis-settings.php b/includes/class-displayfeaturedimagegenesis-settings.php index 7f61c67..98e6175 100644 --- a/includes/class-displayfeaturedimagegenesis-settings.php +++ b/includes/class-displayfeaturedimagegenesis-settings.php @@ -507,7 +507,7 @@ class Display_Featured_Image_Genesis_Settings extends Display_Featured_Image_Gen wp_die( esc_attr__( 'Something unexpected happened. Please try again.', 'display-featured-image-genesis' ) ); } - check_admin_referer( 'displayfeaturedimagegenesis_save-settings', 'displayfeaturedimagegenesis_nonce' ); + check_admin_referer( $action, $nonce ); $new_value = array_merge( $this->setting, $new_value ); // validate all checkbox fields @@ -611,10 +611,9 @@ class Display_Featured_Image_Genesis_Settings extends Display_Featured_Image_Gen foreach ( $rows as $row ) { $term_id = str_replace( 'displayfeaturedimagegenesis_', '', $row ); $term = get_term( (int) $term_id ); - if ( ! $term ) { - continue; + if ( ! is_wp_error( $term ) && ! is_null( $term ) ) { + $message .= edit_term_link( $term->name, '
  • ', '
  • ', $term, false ); } - $message .= edit_term_link( $term->name, '
  • ', '
  • ', $term, false ); } $message .= ''; $message .= sprintf( '

    %s

    ', __( 'To get rid of this notice, you can 1) update your terms by hand; 2) click the update button (please check your terms afterward); or 3) click the dismiss button.', 'display-featured-image-genesis' ) ); @@ -658,13 +657,16 @@ class Display_Featured_Image_Genesis_Settings extends Display_Featured_Image_Gen if ( ! check_admin_referer( 'displayfeaturedimagegenesis_metanonce', 'displayfeaturedimagegenesis_metanonce' ) ) { return; } - foreach ( $this->term_option_query as $term ) { - $term_id = (int) str_replace( 'displayfeaturedimagegenesis_', '', $term ); - $option = get_option( esc_attr( $term ), false ); - if ( false !== $option ) { + foreach ( $this->term_option_query as $option_key ) { + $term_id = (int) str_replace( 'displayfeaturedimagegenesis_', '', $option_key ); + $option = get_option( esc_attr( $option_key ), false ); + $term = get_term( (int) $term_id ); + if ( ! is_wp_error( $term ) && ! is_null( $term ) ) { $image_id = (int) displayfeaturedimagegenesis_check_image_id( $option['term_image'] ); update_term_meta( $term_id, 'displayfeaturedimagegenesis', $image_id ); - delete_option( "displayfeaturedimagegenesis_{$term_id}" ); + } + if ( false !== $option ) { + delete_option( esc_attr( $option_key ) ); } } }