Wordpress WP_Filesystem()不会重写文件

时间:2013-12-31 10:36:15

标签: css wordpress

我试图动态生成css文件。

global $my_options;
WP_Filesystem();
global $wp_filesystem;

$css = '';
$file = './css/compile.css';

$css .= '
a{
    color: '. $my_options['link-color']['regular'] .';
} 
a:hover{
    color: '. $my_options['link-color']['hover'] .';
} 
'; 
if(!$wp_filesystem->put_contents($file, $css, FS_CHMOD_FILE)) {
    echo 'Generating CSS error!';
}
var_dump($wp_filesystem->get_contents($file));

var_dump返回string(69) " a{ color: #81d742; } a:hover{ color: #1e73be; } ",但是当我观察文件compile.css时 - 它没有任何变化。我无法弄清楚这个问题的原因是什么。

2 个答案:

答案 0 :(得分:0)

尝试替换两行:

global $my_options;    
global $wp_filesystem;
WP_Filesystem();

$css = '';
$file = './css/compile.css';

$css .= '
a{
    color: '. $my_options['link-color']['regular'] .';
} 
a:hover{
    color: '. $my_options['link-color']['hover'] .';
} 
'; 
if(!$wp_filesystem->put_contents($file, $css, FS_CHMOD_FILE)) {
    echo 'Generating CSS error!';
}
var_dump($wp_filesystem->get_contents($file));

我有同样的问题,通过这样做解决了

感谢

答案 1 :(得分:0)

替换 $file = './css/compile.css';

$file = plugin_dir_path( __FILE__ ).'css/compile.css';

它会正常工作..