What is the best way to load the dependencies for the
WP_Filesystem?
The first or the second code part?
-
WP_Filesystem()is used in conjunction with the global$wp_filesystemvariable, so if you use it, then the second code part should be used.And
WP_Filesystem()must be called so that the global$wp_filesystemvariable is properly initialized/setup, i.e. assigned with the proper class instance or file system method (seeget_filesystem_method(), which defaults toWP_Filesystem_Direct). -
If you’re not using the global
$wp_filesystemvariable, then you could just use the first one to manually load the dependencies which are loaded automatically byWP_Filesystem().
Example using the global $wp_filesystem variable:
global $wp_filesystem;
// Make sure that the above variable is properly setup.
require_once ABSPATH . 'wp-admin/includes/file.php';
WP_Filesystem();
// Check whether a file/directory exists.
$exists = $wp_filesystem->exists( '/some/path/here' );
var_dump( $exists );
// Get file content.
$data = $wp_filesystem->get_contents( 'path/to/file' );
var_dump( $data );
Example using a custom variable:
require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-base.php';
require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-direct.php';
$filesystem = new WP_Filesystem_Direct( false );
var_dump( $filesystem->exists( '/some/path/here' ) );