The request_filesystem_credentials() WordPress PHP function displays a form to the user to request their FTP/SSH details in order to connect to the filesystem.
Usage
$creds = request_filesystem_credentials($form_post, $type, $error, $context, $extra_fields, $allow_relaxed_file_ownership);
Example:
$form_post = 'http://example.com/post-url/';
$creds = request_filesystem_credentials($form_post);
if (false === $creds) {
return;
}
Parameters
$form_post(string) (Required): The URL to post the form to.$type(string) (Optional): Chosen type of filesystem. Default: ”.$error(bool|WP_Error) (Optional): Whether the current request has failed to connect, or an error object. Default: false.$context(string) (Optional): Full path to the directory that is tested for being writable. Default: ”.$extra_fields(array) (Optional): Extra POST fields to be checked for inclusion in the post. Default: null.$allow_relaxed_file_ownership(bool) (Optional): Whether to allow Group/World writable. Default: false.
More information
See WordPress Developer Resources: request_filesystem_credentials()
Examples
Basic usage
This example shows the basic usage of request_filesystem_credentials() function to display a form for FTP/SSH details.
$form_post = 'http://example.com/post-url/';
$creds = request_filesystem_credentials($form_post);
if (false === $creds) {
return;
}
Specifying the type of filesystem
In this example, the function is used to request filesystem credentials specifically for ‘ftpext’ type.
$form_post = 'http://example.com/post-url/';
$type = 'ftpext';
$creds = request_filesystem_credentials($form_post, $type);
if (false === $creds) {
return;
}
Handling error
This example demonstrates how to handle an error when requesting filesystem credentials.
$form_post = 'http://example.com/post-url/';
$type = 'ftpext';
$error = new WP_Error('connection_failed', 'Connection failed');
$creds = request_filesystem_credentials($form_post, $type, $error);
if (false === $creds) {
return;
}
Specifying context and extra fields
This example shows how to specify a context (directory) and extra POST fields when requesting filesystem credentials.
$form_post = 'http://example.com/post-url/';
$context = '/path/to/directory/';
$extra_fields = array('field1' => 'value1', 'field2' => 'value2');
$creds = request_filesystem_credentials($form_post, '', false, $context, $extra_fields);
if (false === $creds) {
return;
}
Allowing relaxed file ownership
This example demonstrates how to allow Group/World writable when requesting filesystem credentials.
$form_post = 'http://example.com/post-url/';
$allow_relaxed_file_ownership = true;
$creds = request_filesystem_credentials($form_post, '', false, '', null, $allow_relaxed_file_ownership);
if (false === $creds) {
return;
}