Changeset 47037
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php
r46893 r47037 2243 2243 $taxonomies = wp_list_filter( get_object_taxonomies( $this->post_type, 'objects' ), array( 'show_in_rest' => true ) ); 2244 2244 foreach ( $taxonomies as $taxonomy ) { 2245 $base = ! empty( $taxonomy->rest_base ) ? $taxonomy->rest_base : $taxonomy->name; 2245 $base = ! empty( $taxonomy->rest_base ) ? $taxonomy->rest_base : $taxonomy->name; 2246 2247 if ( array_key_exists( $base, $schema['properties'] ) ) { 2248 $taxonomy_field_name_with_conflict = ! empty( $taxonomy->rest_base ) ? 'rest_base' : 'name'; 2249 _doing_it_wrong( 2250 'register_taxonomy', 2251 sprintf( 2252 /* translators: 1. The taxonomy name, 2. The property name, either rest_base or name. */ 2253 __( 'The "%1$s" taxonomy "%2$s" conflicts with an existing property on the REST API Posts Controller. Specify a custom "rest_base" when registering the taxonomy to avoid this error.' ), 2254 $base, 2255 $taxonomy_field_name_with_conflict 2256 ), 2257 '5.4.0' 2258 ); 2259 } 2260 2246 2261 $schema['properties'][ $base ] = array( 2247 2262 /* translators: %s: Taxonomy name. */ -
trunk/tests/phpunit/tests/rest-api/rest-posts-controller.php
r46671 r47037 3920 3920 3921 3921 /** 3922 * @ticket 48401 3923 */ 3924 public function test_get_item_schema_issues_doing_it_wrong_when_taxonomy_name_is_already_set_in_properties() { 3925 $this->setExpectedIncorrectUsage( 'register_taxonomy' ); 3926 3927 // Register a taxonomy with 'status' as name. 3928 register_taxonomy( 'status', 'post', array( 'show_in_rest' => true ) ); 3929 3930 // Re-initialize the controller 3931 $controller = new WP_REST_Posts_Controller( 'post' ); 3932 $controller->register_routes(); 3933 } 3934 3935 /** 3922 3936 * @ticket 39805 3923 3937 */
Note: See TracChangeset
for help on using the changeset viewer.