Make WordPress Core

Ticket #42707: 42707.diff

File 42707.diff, 3.4 KB (added by pento, 8 years ago)
  • src/wp-includes/rest-api/endpoints/class-wp-rest-taxonomies-controller.php

     
    190190                );
    191191
    192192                $context = ! empty( $request['context'] ) ? $request['context'] : 'view';
     193
     194                if ( 'edit' === $context ) {
     195                        $data['visibility'] = array(
     196                                'public'             => $taxonomy->public,
     197                                'publicly_queryable' => $taxonomy->publicly_queryable,
     198                                'show_admin_column'  => $taxonomy->show_admin_column,
     199                                'show_in_nav_menus'  => $taxonomy->show_in_nav_menus,
     200                                'show_in_quick_edit' => $taxonomy->show_in_quick_edit,
     201                                'show_ui'            => $taxonomy->show_ui,
     202                        );
     203                }
    193204                $data = $this->add_additional_fields_to_object( $data, $request );
    194205                $data = $this->filter_response_by_context( $data, $context );
    195206
     
    283294                                        'context'      => array( 'view', 'edit' ),
    284295                                        'readonly'     => true,
    285296                                ),
     297                                'visibility'       => array(
     298                                        'description'  => __( 'The visibility settings for the taxomonmy.' ),
     299                                        'type'         => 'object',
     300                                        'context'      => array( 'edit' ),
     301                                        'readonly'     => true,
     302                                ),
    286303                                'rest_base'            => array(
    287304                                        'description'  => __( 'REST base route for the taxonomy.' ),
    288305                                        'type'         => 'string',
  • tests/phpunit/tests/rest-api/rest-taxonomies-controller.php

     
    144144                $response = $this->server->dispatch( $request );
    145145                $data = $response->get_data();
    146146                $properties = $data['schema']['properties'];
    147                 $this->assertEquals( 9, count( $properties ) );
     147                $this->assertEquals( 10, count( $properties ) );
    148148                $this->assertArrayHasKey( 'capabilities', $properties );
    149149                $this->assertArrayHasKey( 'description', $properties );
    150150                $this->assertArrayHasKey( 'hierarchical', $properties );
     
    153153                $this->assertArrayHasKey( 'slug', $properties );
    154154                $this->assertArrayHasKey( 'show_cloud', $properties );
    155155                $this->assertArrayHasKey( 'types', $properties );
     156                $this->assertArrayHasKey( 'visibility', $properties );
    156157                $this->assertArrayHasKey( 'rest_base', $properties );
    157158        }
    158159
     
    186187                        $this->assertEquals( $tax_obj->cap, $data['capabilities'] );
    187188                        $this->assertEquals( $tax_obj->labels, $data['labels'] );
    188189                        $this->assertEquals( $tax_obj->show_tagcloud, $data['show_cloud'] );
     190
     191                        $this->assertEquals( $tax_obj->public, $data['visibility']['public'] );
     192                        $this->assertEquals( $tax_obj->publicly_queryable, $data['visibility']['publicly_queryable'] );
     193                        $this->assertEquals( $tax_obj->show_admin_column, $data['visibility']['show_admin_column'] );
     194                        $this->assertEquals( $tax_obj->show_in_nav_menus, $data['visibility']['show_in_nav_menus'] );
     195                        $this->assertEquals( $tax_obj->show_in_quick_edit, $data['visibility']['show_in_quick_edit'] );
     196                        $this->assertEquals( $tax_obj->show_ui, $data['visibility']['show_ui'] );
    189197                } else {
    190198                        $this->assertFalse( isset( $data['capabilities'] ) );
    191199                        $this->assertFalse( isset( $data['labels'] ) );
    192200                        $this->assertFalse( isset( $data['show_cloud'] ) );
     201                        $this->assertFalse( isset( $data['visibility'] ) );
    193202                }
    194203        }
    195204