WordPress 操作文件/FTP/SSH 的工具类 WP_Filesystem

江河/ 2023年04月08日/ WordPress/ 浏览 1027

WordPress 功能之强大,诟病者称之为臃肿……


WordPress 加上各种各样的主题、插件,可以说几乎已无所不包,其大无外,其小无内……


单论 WordPress 本身,其功能就数不胜数……


WP_Filesystem 是 WordPress 中关于文件的抽象类。此处的【文件】并不是我们常说的文件,而是计算机术语【文件】-泛指一切遵循文件传输协议的设备。


WP_Filesystem 是一个抽象类,子类还有:WP_Filesystem_Base、WP_Filesystem_Direct、WP_Filesystem_FTPext、WP_Filesystem_ftpsocket、WP_Filesystem_SSH2。


功能之丰富,不言自明。


之前介绍过一些和文件相关的 WordPress 函数,都需要 WP_Filesystem 支持才行。


《WordPress函数:unzip_file 解压缩 zip 文件》


《WordPress函数:copy_dir 复制文件夹》


《WordPress函数:move_dir 移动文件夹》


一个读取文件内容的简单例子:


/**
 * 读取文件内容
 */
function prefix_get_google_fonts() {

	global $wp_filesystem;

	require_once ( ABSPATH . '/wp-admin/includes/file.php' );
	WP_Filesystem();
	
	$local_file = 	get_parent_theme_file_path( '/assets/json/google-web-fonts.json' );
	$content 	= 	'';

    if ( $wp_filesystem->exists( $local_file ) ) {
        $content = json_decode( $wp_filesystem->get_contents( $local_file ) );
    } // End If Statement

	return $content;

}


发表评论

暂无评论,抢个沙发...

客服 工单