function rest_create_settings_routes() { if (class_exists('WP_REST_Controller') && !class_exists('WP_REST_Settings_Controller')) { require_once dirname(__FILE__) . '/lib/class-wp-rest-settings-controller.php'; } rest_register_settings(); $settings_route = new WP_REST_Settings_Controller(); $settings_route->register_routes(); }
/** * Registers default REST API routes. * * @since 4.7.0 */ 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(); }