Make WordPress Core

Changeset 55097


Ignore:
Timestamp:
01/19/2023 12:11:57 PM (4 years ago)
Author:
youknowriad
Message:

Editor: Allow block pattern categories to have descriptions.

Updates the corresponding REST API endpoint and unit test.

Fixes #57478.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/rest-api/endpoints/class-wp-rest-block-pattern-categories-controller.php

    r53302 r55097  
    103103        public function prepare_item_for_response( $item, $request ) {
    104104                $fields = $this->get_fields_for_response( $request );
    105                 $keys   = array( 'name', 'label' );
     105                $keys   = array( 'name', 'label', 'description' );
    106106                $data   = array();
    107107                foreach ( $keys as $key ) {
    108                         if ( rest_is_field_included( $key, $fields ) ) {
     108                        if ( isset( $item[ $key ] ) && rest_is_field_included( $key, $fields ) ) {
    109109                                $data[ $key ] = $item[ $key ];
    110110                        }
    … …  
    131131                        'type'       => 'object',
    132132                        'properties' => array(
    133                                 'name'  => array(
     133                                'name'        => array(
    134134                                        'description' => __( 'The category name.' ),
    135135                                        'type'        => 'string',
    … …  
    137137                                        'context'     => array( 'view', 'edit', 'embed' ),
    138138                                ),
    139                                 'label' => array(
     139                                'label'       => array(
    140140                                        'description' => __( 'The category label, in human readable format.' ),
     141                                        'type'        => 'string',
     142                                        'readonly'    => true,
     143                                        'context'     => array( 'view', 'edit', 'embed' ),
     144                                ),
     145                                'description' => array(
     146                                        'description' => __( 'The category description, in human readable format.' ),
    141147                                        'type'        => 'string',
    142148                                        'readonly'    => true,
  • trunk/tests/phpunit/tests/rest-api/wpRestBlockPatternCategoriesController.php

    r54088 r55097  
    7575
    7676                // Register some categories in the test registry.
    77                 $test_registry->register( 'test', array( 'label' => 'Test' ) );
    78                 $test_registry->register( 'query', array( 'label' => 'Query' ) );
     77                $test_registry->register(
     78                        'test',
     79                        array(
     80                                'label'       => 'Test',
     81                                'description' => 'Test description',
     82                        )
     83                );
     84                $test_registry->register(
     85                        'query',
     86                        array(
     87                                'label'       => 'Query',
     88                                'description' => 'Query',
     89                        )
     90                );
    7991        }
    8092
    … …  
    104116
    105117                $expected_names  = array( 'test', 'query' );
    106                 $expected_fields = array( 'name', 'label' );
     118                $expected_fields = array( 'name', 'label', 'description' );
    107119
    108120                $request            = new WP_REST_Request( 'GET', static::REQUEST_ROUTE );
    109                 $request['_fields'] = 'name,label';
     121                $request['_fields'] = 'name,label,description';
    110122                $response           = rest_get_server()->dispatch( $request );
    111123                $data               = $response->get_data();
Note: See TracChangeset for help on using the changeset viewer.