WordPress.org

Make WordPress Core

Ticket #34172: 34172.functions.php.patch

File 34172.functions.php.patch, 1.4 KB (added by wpsmith, 5 years ago)

Original Patch

  • wp-includes/functions.php

     
    32463246                 * if we knew we had an array of arrays.
    32473247                 */
    32483248                foreach ( $list as $key => $value ) {
    3249                         if ( is_object( $value ) ) {
    3250                                 $list[ $key ] = $value->$field;
     3249                        if ( is_object( $value ) && isset( $value->$field ) ) {
     3250                                        $list[ $key ] = $value->$field;
     3251                        } elseif ( is_array( $value ) && isset( $value[ $field ] ) ) {
     3252                                $list[ $key ] = $value[ $field ];
    32513253                        } else {
    3252                                 $list[ $key ] = $value[ $field ];
     3254                                $list = array();
    32533255                        }
    32543256                }
    32553257                return $list;
     
    32623264        $newlist = array();
    32633265        foreach ( $list as $value ) {
    32643266                if ( is_object( $value ) ) {
    3265                         if ( isset( $value->$index_key ) ) {
     3267                        if ( isset( $value->$index_key ) && isset( $value->$field ) ) {
    32663268                                $newlist[ $value->$index_key ] = $value->$field;
    3267                         } else {
     3269                        } elseif ( isset( $value->$field ) ) {
    32683270                                $newlist[] = $value->$field;
    32693271                        }
    3270                 } else {
    3271                         if ( isset( $value[ $index_key ] ) ) {
     3272                } elseif ( is_array( $value ) ) {
     3273                        if ( isset( $value[ $index_key ] ) && isset( $value[ $field ] ) ) {
    32723274                                $newlist[ $value[ $index_key ] ] = $value[ $field ];
    3273                         } else {
     3275                        } elseif ( isset( $value[ $field ] ) ) {
    32743276                                $newlist[] = $value[ $field ];
    32753277                        }
    32763278                }