WordPress.org

Make WordPress Core

Ticket #31194: 31194.patch

File 31194.patch, 1.7 KB (added by SergeyBiryukov, 7 years ago)
  • src/wp-includes/query.php

     
    34203420
    34213421                if ( 'ids' == $q['fields'] ) {
    34223422                        $this->posts = $wpdb->get_col( $this->request );
     3423                        $this->posts = array_map( 'intval', $this->posts );
    34233424                        $this->post_count = count( $this->posts );
    34243425                        $this->set_found_posts( $q, $limits );
    34253426
    3426                         return array_map( 'intval', $this->posts );
     3427                        return $this->posts;
    34273428                }
    34283429
    34293430                if ( 'id=>parent' == $q['fields'] ) {
     
    34323433                        $this->set_found_posts( $q, $limits );
    34333434
    34343435                        $r = array();
    3435                         foreach ( $this->posts as $post ) {
     3436                        foreach ( $this->posts as $key => $post ) {
     3437                                $this->posts[ $key ]->ID = (int) $post->ID;
     3438                                $this->posts[ $key ]->post_parent = (int) $post->post_parent;
     3439
    34363440                                $r[ (int) $post->ID ] = (int) $post->post_parent;
    34373441                        }
     3442
    34383443                        return $r;
    34393444                }
    34403445
  • tests/phpunit/tests/query/results.php

     
    387387
    388388        /**
    389389         * @ticket 27252
     390         * @ticket 31194
    390391         */
    391392        function test_query_fields_integers() {
    392393
     
    401402                ) );
    402403
    403404                $this->assertSame( $parents, $posts1 );
     405                $this->assertSame( $parents, $this->q->posts );
    404406
    405407                $children = array(
    406408                        (int) self::$child_one => (int) self::$parent_one,
     
    415417
    416418                $this->assertSame( $children, $posts2 );
    417419
     420                foreach ( $this->q->posts as $post ) {
     421                        $this->assertInternalType( 'int', $post->ID );
     422                        $this->assertInternalType( 'int', $post->post_parent );
     423                }
     424
    418425        }
    419426
    420427        /**