create_initial_rest_routes
Registers default REST API routes.
Description
create_initial_rest_routes();
Usage
if ( !function_exists( 'create_initial_rest_routes' ) ) { require_once ABSPATH . WPINC . '/rest-api.php'; } // NOTICE! Understand what this does before running. $result = create_initial_rest_routes();
Defined (1)
The function is defined in the following location(s).
- /wp-includes/rest-api.php
- function create_initial_rest_routes() {
- foreach ( get_post_types( array( 'show_in_rest' => true ), 'objects' ) as $post_type ) {
- $class = ! empty( $post_type->rest_controller_class ) ? $post_type->rest_controller_class : 'WP_REST_Posts_Controller';
- if ( ! class_exists( $class ) ) {
- continue;
- }
- $controller = new $class( $post_type->name );
- if ( ! is_subclass_of( $controller, 'WP_REST_Controller' ) ) {
- continue;
- }
- $controller->register_routes();
- if ( post_type_supports( $post_type->name, 'revisions' ) ) {
- $revisions_controller = new WP_REST_Revisions_Controller( $post_type->name );
- $revisions_controller->register_routes();
- }
- }
- // Post types.
- $controller = new WP_REST_Post_Types_Controller;
- $controller->register_routes();
- // Post statuses.
- $controller = new WP_REST_Post_Statuses_Controller;
- $controller->register_routes();
- // Taxonomies.
- $controller = new WP_REST_Taxonomies_Controller;
- $controller->register_routes();
- // Terms.
- foreach ( get_taxonomies( array( 'show_in_rest' => true ), 'object' ) as $taxonomy ) {
- $class = ! empty( $taxonomy->rest_controller_class ) ? $taxonomy->rest_controller_class : 'WP_REST_Terms_Controller';
- if ( ! class_exists( $class ) ) {
- continue;
- }
- $controller = new $class( $taxonomy->name );
- if ( ! is_subclass_of( $controller, 'WP_REST_Controller' ) ) {
- continue;
- }
- $controller->register_routes();
- }
- // Users.
- $controller = new WP_REST_Users_Controller;
- $controller->register_routes();
- // Comments.
- $controller = new WP_REST_Comments_Controller;
- $controller->register_routes();
- // Settings.
- $controller = new WP_REST_Settings_Controller;
- $controller->register_routes();
- }