WP_REST_Server::READABLE, 'callback' => [ $this, 'get_snippets_info' ], 'permission_callback' => function () { return current_user_can( 'edit_posts' ); }, ) ); } /** * Fetch snippet data in response to a request. * * @param WP_REST_Request $request Request object. * * @return WP_REST_Response */ public function get_snippets_info( WP_REST_Request $request ) { $snippets = get_snippets(); $data = []; /** Snippet @var Snippet $snippet */ foreach ( $snippets as $snippet ) { $data[] = [ 'id' => $snippet->id, 'name' => $snippet->name, 'type' => $snippet->type, 'active' => $snippet->active, ]; } return new WP_REST_Response( $data, 200 ); } }