Make WordPress Core

Changeset 52133


Ignore:
Timestamp:
11/11/2021 03:50:22 AM (3 years ago)
Author:
noisysocks
Message:

REST API: Add /wp/v2/block-navigation-areas endpoint

Copies WP_REST_Block_Navigation_Areas_Controller from the Gutenberg plugin. This
provides the /wp/v2/block-navigation-areas endpoint used by the Navigation
block.

Props antonvlasenko, TimothyBlynJacobs.
Fixes #54393.

Location:
trunk
Files:
3 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/default-filters.php

    r52110 r52133  
    670670add_action( 'setup_theme', 'wp_enable_block_templates' );
    671671
     672// Navigation areas.
     673add_action( 'setup_theme', '_register_default_navigation_areas' );
     674
    672675unset( $filter, $action );
  • trunk/src/wp-includes/rest-api.php

    r52128 r52133  
    349349    // Menu Locations.
    350350    $controller = new WP_REST_Menu_Locations_Controller();
     351    $controller->register_routes();
     352
     353    // Block Navigation Areas
     354    $controller = new WP_REST_Block_Navigation_Areas_Controller();
    351355    $controller->register_routes();
    352356}
  • trunk/src/wp-settings.php

    r52079 r52133  
    245245require ABSPATH . WPINC . '/class-wp-widget.php';
    246246require ABSPATH . WPINC . '/class-wp-widget-factory.php';
     247require ABSPATH . WPINC . '/nav-menu-template.php';
    247248require ABSPATH . WPINC . '/nav-menu.php';
    248 require ABSPATH . WPINC . '/nav-menu-template.php';
     249require ABSPATH . WPINC . '/navigation-areas.php';
    249250require ABSPATH . WPINC . '/admin-bar.php';
    250251require ABSPATH . WPINC . '/class-wp-application-passwords.php';
     
    276277require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-plugins-controller.php';
    277278require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-directory-controller.php';
     279require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-navigation-areas-controller.php';
    278280require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-pattern-directory-controller.php';
    279281require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-application-passwords-controller.php';
  • trunk/tests/phpunit/tests/rest-api/rest-schema-setup.php

    r52079 r52133  
    172172            '/wp/v2/navigation/(?P<parent>[\d]+)/revisions',
    173173            '/wp/v2/navigation/(?P<parent>[\d]+)/revisions/(?P<id>[\d]+)',
     174            '/wp/v2/block-navigation-areas',
     175            '/wp/v2/block-navigation-areas/(?P<area>[\w-]+)',
    174176            '/wp-site-health/v1',
    175177            '/wp-site-health/v1/tests/background-updates',
  • trunk/tests/qunit/fixtures/wp-api-generated.js

    r52129 r52133  
    1036810368                }
    1036910369            ]
     10370        },
     10371        "/wp/v2/block-navigation-areas": {
     10372            "namespace": "wp/v2",
     10373            "methods": [
     10374                "GET"
     10375            ],
     10376            "endpoints": [
     10377                {
     10378                    "methods": [
     10379                        "GET"
     10380                    ],
     10381                    "args": {
     10382                        "context": {
     10383                            "description": "Scope under which the request is made; determines fields present in response.",
     10384                            "type": "string",
     10385                            "enum": [
     10386                                "view",
     10387                                "embed",
     10388                                "edit"
     10389                            ],
     10390                            "default": "view",
     10391                            "required": false
     10392                        }
     10393                    }
     10394                }
     10395            ],
     10396            "_links": {
     10397                "self": [
     10398                    {
     10399                        "href": "http://example.org/index.php?rest_route=/wp/v2/block-navigation-areas"
     10400                    }
     10401                ]
     10402            }
     10403        },
     10404        "/wp/v2/block-navigation-areas/(?P<area>[\\w-]+)": {
     10405            "namespace": "wp/v2",
     10406            "methods": [
     10407                "GET",
     10408                "POST",
     10409                "PUT",
     10410                "PATCH"
     10411            ],
     10412            "endpoints": [
     10413                {
     10414                    "methods": [
     10415                        "GET"
     10416                    ],
     10417                    "allow_batch": {
     10418                        "v1": true
     10419                    },
     10420                    "args": {
     10421                        "area": {
     10422                            "description": "An alphanumeric identifier for the navigation area.",
     10423                            "type": "string",
     10424                            "required": false
     10425                        },
     10426                        "context": {
     10427                            "description": "Scope under which the request is made; determines fields present in response.",
     10428                            "type": "string",
     10429                            "enum": [
     10430                                "view",
     10431                                "embed",
     10432                                "edit"
     10433                            ],
     10434                            "default": "view",
     10435                            "required": false
     10436                        }
     10437                    }
     10438                },
     10439                {
     10440                    "methods": [
     10441                        "POST",
     10442                        "PUT",
     10443                        "PATCH"
     10444                    ],
     10445                    "allow_batch": {
     10446                        "v1": true
     10447                    },
     10448                    "args": {
     10449                        "area": {
     10450                            "description": "An alphanumeric identifier for the navigation area.",
     10451                            "type": "string",
     10452                            "required": false
     10453                        }
     10454                    }
     10455                }
     10456            ]
    1037010457        }
    1037110458    },
Note: See TracChangeset for help on using the changeset viewer.