WP_REST_Plugins_Controller::is_filesystem_available()protectedWP 5.5.0

Determine if the endpoints are available.

Only the 'Direct' filesystem transport, and SSH/FTP when credentials are stored are supported at present.

Method of the class: WP_REST_Plugins_Controller{}

No Hooks.

Return

true|WP_Error. True if filesystem is available, WP_Error otherwise.

Usage

// protected - for code of main (parent) or child class
$result = $this->is_filesystem_available();

Changelog

Since 5.5.0 Introduced.

WP_REST_Plugins_Controller::is_filesystem_available() code WP 6.5.2

protected function is_filesystem_available() {
	$filesystem_method = get_filesystem_method();

	if ( 'direct' === $filesystem_method ) {
		return true;
	}

	ob_start();
	$filesystem_credentials_are_stored = request_filesystem_credentials( self_admin_url() );
	ob_end_clean();

	if ( $filesystem_credentials_are_stored ) {
		return true;
	}

	return new WP_Error( 'fs_unavailable', __( 'The filesystem is currently unavailable for managing plugins.' ), array( 'status' => 500 ) );
}