Changeset 57732
- Timestamp:
- 02/27/2024 10:36:09 PM (11 months ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/class-wp-list-util.php
r57698 r57732 166 166 foreach ( $this->output as $key => $value ) { 167 167 if ( is_object( $value ) ) { 168 if ( property_exists( $value, $field ) ) { 169 $newlist[ $key ] = $value->$field; 170 } 168 $newlist[ $key ] = $value->$field; 171 169 } elseif ( is_array( $value ) ) { 172 if ( array_key_exists( $field, $value ) ) { 173 $newlist[ $key ] = $value[ $field ]; 174 } 170 $newlist[ $key ] = $value[ $field ]; 175 171 } else { 176 172 _doing_it_wrong( … … 193 189 foreach ( $this->output as $value ) { 194 190 if ( is_object( $value ) ) { 195 if ( property_exists( $value, $field ) ) { 196 if ( property_exists( $value, $index_key ) ) { 197 $newlist[ $value->$index_key ] = $value->$field; 198 } else { 199 $newlist[] = $value->$field; 200 } 191 if ( isset( $value->$index_key ) ) { 192 $newlist[ $value->$index_key ] = $value->$field; 193 } else { 194 $newlist[] = $value->$field; 201 195 } 202 196 } elseif ( is_array( $value ) ) { 203 if ( array_key_exists( $field, $value ) ) { 204 if ( array_key_exists( $index_key, $value ) ) { 205 $newlist[ $value[ $index_key ] ] = $value[ $field ]; 206 } else { 207 $newlist[] = $value[ $field ]; 208 } 197 if ( isset( $value[ $index_key ] ) ) { 198 $newlist[ $value[ $index_key ] ] = $value[ $field ]; 199 } else { 200 $newlist[] = $value[ $field ]; 209 201 } 210 202 } else { -
trunk/tests/phpunit/tests/functions/wpListPluck.php
r57698 r57732 272 272 ), 273 273 array( 274 'foo' => 'foo', 274 275 '123' => '456', 275 276 'lorem' => 'ipsum', … … 285 286 array( 286 287 'bar', 288 'bar' => 'foo', 287 289 'value' => 'baz', 288 ),289 ),290 'arrays with key missing' => array(291 array(292 array(293 'foo' => 'bar',294 'bar' => 'baz',295 'abc' => 'xyz',296 ),297 array(298 'foo' => 'foo',299 '123' => '456',300 'lorem' => 'ipsum',301 'key' => 'bar',302 ),303 array(304 'foo' => 'baz',305 'key' => 'value',306 ),307 ),308 'key',309 null,310 array(311 1 => 'bar',312 2 => 'value',313 290 ), 314 291 ), … … 366 343 ), 367 344 (object) array( 345 'foo' => 'foo', 368 346 '123' => '456', 369 347 'lorem' => 'ipsum', … … 379 357 array( 380 358 'bar', 359 'bar' => 'foo', 381 360 'value' => 'baz', 382 361 ), 383 362 ), 384 'objects with field missing' => array(385 array(386 (object) array(387 'foo' => 'bar',388 'bar' => 'baz',389 'abc' => 'xyz',390 ),391 (object) array(392 'foo' => 'foo',393 '123' => '456',394 'lorem' => 'ipsum',395 'key' => 'bar',396 ),397 (object) array(398 'foo' => 'baz',399 'key' => 'value',400 ),401 ),402 'key',403 null,404 array(405 1 => 'bar',406 2 => 'value',407 ),408 ),409 363 ); 410 364 }
Note: See TracChangeset
for help on using the changeset viewer.