个性化阅读
专注于IT技术分析

将fopen/fwrite转换为WordPress WP_Filesystem

我在主题中使用了Easy Theme Child插件中的代码, 但是该主题检查插件失败, 并出现以下错误:

WARNING: fopen/fwrite was found in the file grtsth-easy-child-theme-resources.php and resources.php File operations should use the `WP_Filesystem` methods instead of direct PHP filesystem calls.

所以我尝试转换问题代码:

$create_style_css    = fopen( $file_style_css, 'w+' );
$create_function_php = fopen( $file_function_php, 'w+' );
fwrite( $create_style_css, $stylesheet_data );
fwrite( $create_function_php, $function_php_data );

至:

WP_Filesystem();
global $wp_filesystem;

$create_style_css    = $wp_filesystem->get_contents($file_style_css);
$create_function_php = $wp_filesystem->get_contents($file_function_php);
$wp_filesystem->put_contents($create_style_css, $stylesheet_data);
$wp_filesystem->put_contents($create_function_php, $function_php_data);

但是, 它不起作用。没有错误。只是不创建子主题文件。我对WP_Filesystem不太熟悉, 所以有什么想法我做错了吗?

谢谢


#1


(这更多是评论, 而不是答案-无法评论!)

这是一个警告, 许多用户可以忽略。你的主题将继续正常运行。

警告只是说主题是作为Web服务器用户读取/写入文件, 而WP Filesystem可以利用其他文件操作方法, 这在某些情况下是有益的。

我不会为更改WP Filesystem的读/写操作而烦恼, 特别是如果你不打算将代码部署到广泛的环境中时(我假设你只是在谈论一个网站)。

但是, 如果你真的想继续…

在进行文件操作之前, 你需要设置/获取访问凭据。

请参阅此方便的分步指南:https://www.srcmini02.com/introduction-to-the-wordpress-filesystem-api/

赞(0)
未经允许不得转载:srcmini » 将fopen/fwrite转换为WordPress WP_Filesystem

评论 抢沙发

评论前必须登录!