Changeset 39097
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php
r39025 r39097 147 147 */ 148 148 public function prepare_item_for_response( $post_type, $request ) { 149 $taxonomies = wp_list_filter( get_object_taxonomies( $post_type->name, 'objects' ), array( 'show_in_rest' => true ) ); 150 $taxonomies = wp_list_pluck( $taxonomies, 'name' ); 149 151 $data = array( 150 152 'capabilities' => $post_type->cap, … … 154 156 'name' => $post_type->label, 155 157 'slug' => $post_type->name, 158 'taxonomies' => array_values( $taxonomies ), 156 159 ); 157 160 $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; … … 204 207 'description' => __( 'All capabilities used by the resource.' ), 205 208 'type' => 'array', 209 'items' => array( 210 'type' => 'string', 211 ), 206 212 'context' => array( 'edit' ), 207 213 'readonly' => true, … … 237 243 'readonly' => true, 238 244 ), 245 'taxonomies' => array( 246 'description' => __( 'Taxonomies associated with resource.' ), 247 'type' => 'array', 248 'items' => array( 249 'type' => 'string', 250 ), 251 'context' => array( 'view', 'edit' ), 252 'readonly' => true, 253 ), 239 254 ), 240 255 ); -
trunk/tests/phpunit/tests/rest-api/rest-post-types-controller.php
r38832 r39097 59 59 $response = $this->server->dispatch( $request ); 60 60 $this->check_post_type_object_response( 'view', $response ); 61 $data = $response->get_data(); 62 $this->assertEquals( array( 'category', 'post_tag' ), $data['taxonomies'] ); 63 } 64 65 public function test_get_item_page() { 66 $request = new WP_REST_Request( 'GET', '/wp/v2/types/page' ); 67 $response = $this->server->dispatch( $request ); 68 $this->check_post_type_object_response( 'view', $response, 'page' ); 69 $data = $response->get_data(); 70 $this->assertEquals( array(), $data['taxonomies'] ); 61 71 } 62 72 … … 110 120 $data = $response->get_data(); 111 121 $properties = $data['schema']['properties']; 112 $this->assertEquals( 6, count( $properties ) );122 $this->assertEquals( 7, count( $properties ) ); 113 123 $this->assertArrayHasKey( 'capabilities', $properties ); 114 124 $this->assertArrayHasKey( 'description', $properties ); … … 117 127 $this->assertArrayHasKey( 'name', $properties ); 118 128 $this->assertArrayHasKey( 'slug', $properties ); 129 $this->assertArrayHasKey( 'taxonomies', $properties ); 119 130 } 120 131 … … 173 184 } 174 185 175 protected function check_post_type_object_response( $context, $response ) {186 protected function check_post_type_object_response( $context, $response, $post_type = 'post' ) { 176 187 $this->assertEquals( 200, $response->get_status() ); 177 188 $data = $response->get_data(); 178 $obj = get_post_type_object( 'post');189 $obj = get_post_type_object( $post_type ); 179 190 $this->check_post_type_obj( $context, $obj, $data, $response->get_links() ); 180 191 }
Note: See TracChangeset
for help on using the changeset viewer.