Runner::after_wp_load()
Contents
Source Source
File: libraries/lifterlms-cli/src/Commands/Restful/Runner.php
public static function after_wp_load() { if ( defined( 'WP_INSTALLING' ) && WP_INSTALLING ) { return; } if ( ! class_exists( 'WP_REST_Server' ) ) { return; } global $wp_rest_server; $wp_rest_server = new \WP_REST_Server(); do_action( 'rest_api_init', $wp_rest_server ); $request = new \WP_REST_Request( 'GET', '/' ); $request->set_param( 'context', 'help' ); $response = $wp_rest_server->dispatch( $request ); $response_data = $response->get_data(); if ( empty( $response_data ) ) { return; } foreach ( $response_data['routes'] as $route => $route_data ) { // Skip non LifterLMS routes. if ( 0 !== strpos( $route, '/llms/' ) ) { continue; } if ( empty( $route_data['schema']['title'] ) ) { \WP_CLI::debug( "No schema title found for {$route}, skipping LifterLMS CLI REST command registration.", 'lifterlms' ); continue; } $name = $route_data['schema']['title']; $rest_command = new Command( $name, $route, $route_data['schema'] ); self::register_route_commands( $rest_command, $route, $route_data ); } }
Expand full source code Collapse full source code View on GitHub