name/v$this->version", $this->endpoint . '/install', [ [ 'methods' => \WP_REST_Server::CREATABLE, 'callback' => $this->callback( $this->controller, 'install' ), 'permission_callback' => [ $this, 'get_items_permission_check' ], 'args' => [ 'requirements' => [ 'type' => 'array', 'required' => true, ], ], ], ] ); register_rest_route( "$this->name/v$this->version", $this->endpoint . '/status', [ [ 'methods' => \WP_REST_Server::CREATABLE, 'callback' => $this->callback( $this->controller, 'status' ), 'permission_callback' => [ $this, 'get_items_permission_check' ], 'args' => [ 'requirements' => [ 'type' => 'array', 'required' => true, ], ], ], ] ); } /** * Only administrators may install plugins/themes. * * @param \WP_REST_Request $request Full details about the request. * @return true|\WP_Error */ public function get_items_permission_check( $request ) { return current_user_can( 'manage_options' ); } }