0

I am running a PHP script, and keep getting errors like:

Notice: Undefined variable: key in D:\0-MYBLOG\SERVER-MYBLOG\InstantWP_4.3.1\iwpserver\htdocs\wordpress\wp-content\plugins\sama-author-review\admin\metabox.php on line 310

Line 310 looks like this:

unset( $new['items_review'][$key] );

Here the code:

        if ( $new['items_review'] && is_array( $new['items_review'] )) {

            foreach ( $new['items_review'] as $review ) {

                if ( empty( $review['label'] ) ) {
                    unset( $new['items_review'][$key] );
                } else {
                    $review['value'] = absint( $review['value'] );
                    $review['label'] = esc_attr( $review['label'] );

                    if ( empty( $review['slug'] )) {
                        $review['slug']  = sanitize_title( $review['label'] );
                    } else {
                        $review['slug']  = sanitize_title( $review['slug'] );
                    }
                    $review['style'] = esc_attr( $review['style'] );
                    $items_review[$i] = $review;
                    $i++;
                }
            }   
        }

Is there a quick fix to resolve these error? Really appreciate for any help

Thank you

Chl Lila
  • 27
  • 1
  • 3
  • 11

1 Answers1

2

I think I get what the problem is, you have forgotten to put the key parameter on your foreach statement.

I admit its a bit of a guess as I have no idea what is in $new but it seams a logical possibility.

if ( $new['items_review'] && is_array( $new['items_review'] )) {

//    foreach ( $new['items_review'] as $review ) {
// replace foreach with this line

    foreach ( $new['items_review'] as $key => $review ) {

        if ( empty( $review['label'] ) ) {
            unset( $new['items_review'][$key] );
        } else {
            $review['value'] = absint( $review['value'] );
            $review['label'] = esc_attr( $review['label'] );
            if ( empty( $review['slug'] )) {
                $review['slug']  = sanitize_title( $review['label'] );
            } else {
                $review['slug']  = sanitize_title( $review['slug'] );
            }
            $review['style'] = esc_attr( $review['style'] );
            $items_review[$i] = $review;
            $i++;
        }
    }   
}
RiggsFolly
  • 93,638
  • 21
  • 103
  • 149