The filesystem_method_file WordPress PHP filter allows you to modify the path for a specific filesystem method class file.
Usage
add_filter('filesystem_method_file', 'your_custom_function', 10, 2);
function your_custom_function($path, $method) {
// your custom code here
return $path;
}
Parameters
- $path (string) – Path to the specific filesystem method class file.
- $method (string) – The filesystem method to use.
More information
See WordPress Developer Resources: filesystem_method_file
Examples
Changing the path for the FTP filesystem method
In this example, we will change the path for the FTP filesystem method.
add_filter('filesystem_method_file', 'change_ftp_file_path', 10, 2);
function change_ftp_file_path($path, $method) {
if ('ftp' == $method) {
$path = '/new/path/to/ftp/filesystem/method/class/file.php';
}
return $path;
}
Adding a custom filesystem method
In this example, we will add a custom filesystem method named ‘custom_method’.
add_filter('filesystem_method_file', 'add_custom_filesystem_method', 10, 2);
function add_custom_filesystem_method($path, $method) {
if ('custom_method' == $method) {
$path = '/path/to/custom/filesystem/method/class/file.php';
}
return $path;
}
Changing the path based on a condition
In this example, we will change the path for the ‘direct’ filesystem method if a certain condition is met.
add_filter('filesystem_method_file', 'conditionally_change_direct_path', 10, 2);
function conditionally_change_direct_path($path, $method) {
if ('direct' == $method && your_custom_condition()) {
$path = '/new/path/to/direct/filesystem/method/class/file.php';
}
return $path;
}
Changing paths for multiple filesystem methods
In this example, we will change the paths for the ‘direct’ and ‘ssh’ filesystem methods.
add_filter('filesystem_method_file', 'change_multiple_filesystem_paths', 10, 2);
function change_multiple_filesystem_paths($path, $method) {
if ('direct' == $method) {
$path = '/new/path/to/direct/filesystem/method/class/file.php';
} elseif ('ssh' == $method) {
$path = '/new/path/to/ssh/filesystem/method/class/file.php';
}
return $path;
}
Logging the filesystem method
In this example, we will log the filesystem method being used.
add_filter('filesystem_method_file', 'log_filesystem_method', 10, 2);
function log_filesystem_method($path, $method) {
error_log("The filesystem method being used is: $method");
return $path;
}