WordPress.org

Make WordPress Core

Ticket #38553: fix-terms-warnings-2.diff

File fix-terms-warnings-2.diff, 1.8 KB (added by timmydcrawford, 5 years ago)
  • src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php

     
    10501050                        if ( ! isset( $request[ $base ] ) ) {
    10511051                                continue;
    10521052                        }
    1053                         $terms = array_map( 'absint', $request[ $base ] );
     1053                        $terms = wp_parse_id_list( $request[ $base ] );
    10541054                        $result = wp_set_object_terms( $post_id, $terms, $taxonomy->name );
    10551055                        if ( is_wp_error( $result ) ) {
    10561056                                return $result;
  • tests/phpunit/tests/rest-api/rest-posts-controller.php

     
    12901290                $this->assertEquals( array( $category['term_id'] ), $data['categories'] );
    12911291        }
    12921292
     1293        public function test_create_post_with_categories_as_string() {
     1294                wp_set_current_user( $this->editor_id );
     1295                $category = wp_insert_term( 'Chicken', 'category' );
     1296                $category2 = wp_insert_term( 'Ribs', 'category' );
     1297                $request = new WP_REST_Request( 'POST', '/wp/v2/posts' );
     1298                $params = $this->set_post_data( array(
     1299                        'password'   => 'testing',
     1300                        'categories' => $category['term_id'] . ',' . $category2['term_id'],
     1301                ) );
     1302                $request->set_body_params( $params );
     1303                $response = $this->server->dispatch( $request );
     1304
     1305                $data = $response->get_data();
     1306                $this->assertEquals( array( $category['term_id'], $category2['term_id'] ), $data['categories'] );
     1307        }
     1308
    12931309        public function test_create_post_with_invalid_categories() {
    12941310                wp_set_current_user( $this->editor_id );
    12951311                $request = new WP_REST_Request( 'POST', '/wp/v2/posts' );