I have a plugin and I am creating a css file in wp_content.
I used this:
$this->content_dir = WP_CONTENT_DIR . "/some_folder";
$path = $this->content_dir . 'options.css';
$css="some string";
global $wp_filesystem;
if(!$wp_filesystem->put_contents( $path, $css, 0644) ) {
return __('Failed to create css file');
}
However I get this error:
Fatal error: Call to a member function put_contents() on a non-object
var_dump($css)
return string.
Does put_contents write to an existing file or does it create a file like file_put_contents
does?
I am looking for an equivalent of this:
if(!file_put_contents($path, $css)){
return __('Failed to create css file');
};
Thank you!
2 s
Initialize the WP filesystem and no more using file_put_contents function. Try this:
[...]
global $wp_filesystem;
// Initialize the WP filesystem, no more using 'file-put-contents' function
if (empty($wp_filesystem)) {
require_once (ABSPATH . '/wp-admin/includes/file.php');
WP_Filesystem();
}
if(!$wp_filesystem->put_contents( $path, $css, 0644) ) {
return __('Failed to create css file');
}